//選択範囲を行単位でソートしたのち、重複行を一行にするマクロ //選択範囲を指定していなければ全文を選択する if (document.selection.Text == "") document.selection.SelectAll(); var tx = document.selection.Text; //選択した文字列を対象とする tx = tx.split(/\n/).sort().join("\n") + "\n"; //行をソートする tx = tx.replace(/(.*?\n)\1+/mg, "$1"); //同じ内容の行が二つ以上あれば最初の一行だけ残して削除する //tx = tx.replace(/(.*?\n)\1+/mg, ""); //同じ内容の行が二つ以上あればすべて削除する document.selection.Text = tx; //対象と選択した文字列を入れ替える //キャレットを選択範囲の先頭に移動(無効化するとキャレットは選択範囲の末尾に居座る) document.selection.StartOfDocument();