下線付きの文章をできるだけテキストエディタで作る メモ


ワードは使いたくなくて、テキストエディタを使いたいけど、

文章に下線を引くために最終的にはワードを使わざるを得ない、

というときに、できるだけテキストエディタを使う方法。

1.テキストエディタで、下線を引く所を例えば[カッコ]でくくる

 例:あいうえお[ここにかせん]かきくけこ

2.ワードで、[カッコ]内の文字を下線付きの文字に置換する

 例:あいうえおかきくけこ[ここにかせん]さしすせそ

3.ワードで、[カッコ]を消す

 例:あいうえおかきくけこここにかせんさしすせそ

上の1~3の作業は面倒なので、マクロにする。

・秀丸用マクロ (ネットで見つけたマクロを適当に改造したもの)

 このマクロにショートカットを割り当てておくと便利。

 秀丸の強調表示の機能を使って[カッコ]で囲まれた部分に下線をつければ見やすい。

//選択範囲の前後に[]をつける

if (selecting == 1) { // 選択中のときのみ実行

// 選択位置

#selTopX = seltopx; // #xxxは数値変数

#selTopY = seltopy;

#selEndX = selendx;

#selEndY = selendy;

// 選択文字列

$selText = gettext(#selTopX, #selTopY, #selEndX, #selEndY, 1); // $xxxは文字列変数

// 選択解除

escape;

// 最後部へ移動

moveto #selEndX,#selEndY;

insert “]”;

// 最前部へ移動

moveto #selTopX,#selTopY;

insert “[“;

// 最後部へ移動

moveto #selEndX+2,#selEndY;

}

・ワード用マクロ (記録したマクロを少し書き換えたもの。多分いらない行もあると思う)

 上から9行目の wdColorBlue の部分を変えて文字の色を変えることができる。例えば wdColorRed にすれば下線部が赤字になる。

 メニューバー→ツール→ユーザー設定→コマンドタブ→分類:マクロで、このマクロを実行するボタンを作っておくと便利。

Sub 括弧を青字下線に()

Selection.Find.ClearFormatting

Selection.Find.Replacement.ClearFormatting

With Selection.Find

.Text = “\[*\]”

.Replacement.Text = “^&”

.Replacement.Font.UnderlineColor = wdColorAutomatic

.Replacement.Font.Underline = wdUnderlineSingle

.Replacement.Font.Color = wdColorBlue

.Forward = True

.Wrap = wdFindContinue

.Format = True

.MatchCase = False

.MatchWholeWord = False

.MatchByte = False

.MatchAllWordForms = False

.MatchSoundsLike = False

.MatchFuzzy = False

.MatchWildcards = True

End With

Selection.Find.Execute Replace:=wdReplaceAll

Selection.Find.ClearFormatting

Selection.Find.Replacement.ClearFormatting

With Selection.Find

.Text = “[“

.Replacement.Text = “”

.Forward = True

.Wrap = wdFindContinue

.Format = False

.MatchCase = False

.MatchWholeWord = False

.MatchByte = True

.MatchAllWordForms = False

.MatchSoundsLike = False

.MatchWildcards = False

.MatchFuzzy = False

End With

Selection.Find.Execute Replace:=wdReplaceAll

With Selection.Find

.Text = “]”

.Replacement.Text = “”

.Forward = True

.Wrap = wdFindContinue

.Format = False

.MatchCase = False

.MatchWholeWord = False

.MatchByte = True

.MatchAllWordForms = False

.MatchSoundsLike = False

.MatchWildcards = False

.MatchFuzzy = False

End With

Selection.Find.Execute Replace:=wdReplaceAll

End Sub



2010-02-10 01:13 | 未分類