炭焼き記録の表の部分は、j前回の表を Wordにコピペ、kWord上で列の入れ替え・今回の記録を入力、lはてなの表にマクロで変換、mはてなにコピペして作っている。
ところが、常用しているデスクトップ機(WindowsXP)が入院中で、仕方なく 27日のブログは、ノートパソコン(Windows7)の Word2010を起動、上記手順のlでマクロがないことに気がついた。
WindowsXPのWord2003のマクロのバックアップを取っていなかったのだ
ブログを探しても見つからなかったので、仕方なく全手動で作成したが、これを機にブログにアップしておこうと...
■ Wordのマクロ
Sub はてな形式の表に変換する() Const strVersion As String = " (初版:H24.05.28)" Dim strTitle As String strTitle = "はてな形式の表に変換する" & strVersion If MsgBox("カーソルのある表を「はてな」の表に変換します。" & vbCrLf & vbCrLf _ & " ■ 表以外の文字列等があると、上手く処理できません。" & vbCrLf _ & " ■ 表は選択しません。" & vbCrLf _ & " ■ 太字は反映されません。" & vbCrLf _ & " ■ セル内改行は[Shift]+[Enter]です。" _ , vbOKCancel + vbInformation, strTitle) = vbCancel Then Exit Sub '表を文字列に変換する。区切り記号は"|" Selection.Rows.ConvertToText Separator:=wdSeparateByDefaultListSeparator, _ NestedTables:=True '文末の段落記号を削除する。 Selection.EndKey Unit:=wdStory Selection.TypeBackspace '文頭にカーソルを移動する。 Selection.HomeKey Unit:=wdStory '段落記号の前後に"|"を付ける(置換) Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "^p" .Replacement.Text = "|^p|" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchByte = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = False .MatchFuzzy = False End With Selection.Find.Execute Replace:=wdReplaceAll '文頭に"|"を挿入する。 Selection.HomeKey Unit:=wdStory Selection.TypeText Text:="|" '文末の"|"を削除する。 Selection.EndKey Unit:=wdStory Selection.TypeBackspace Selection.TypeBackspace '↓(任意指定の行区切り)を"<br>"に置換する。 With Selection.Find .Text = "^l" .Replacement.Text = "<br>" .Forward = True .Wrap = wdFindContinue End With Selection.Find.Execute Replace:=wdReplaceAll '文頭にカーソルを移動する。 Selection.HomeKey Unit:=wdStory MsgBox "終了しました。" & vbCrLf & "タイトル行の項目には * を付けてください。" _ , vbOKOnly, strTitle End Sub
■ マクロの保存場所
- Word2010
- C:\Users\ログイン名\AppData\Roaming\Microsoft\Templates\Normal.dotm
- Word2003
- 入院中のため、後日記載する。