先週末は、Wordアドイン とWordワイルドカード(正規表現) のセミナーをいたしました。
セミナー後には、セミナーのまとめ資料を作っています。
その時に毎回、同じスタイルを別のファイルからコピーしています。
スタイルを設定したテンプレートを作ればコピーする手間は省けますよね。そのテンプレートファイルから新規文書を作ればいいので。
でも今は、新規文書を白紙で作成してベタ打ちした後で、既存のマニュアルやまとめ資料からスタイルを全てコピーし、そのスタイルに基づいてベタ打ちした書類を整えています。
そのときにこのマクロを使います。
このマクロでできること
Wordファイルを選択すると、そのファイルのスタイルを全て現在開かれているファイルにコピーします。
同じ名前のスタイルは上書きします。
Normal.dotmなど基準となるものを修正するわけではありません。現在開かれているファイルにのみスタイルを適用します。
マクロの解説
以前の記事で紹介しました「【Wordマクロ】ファイル選択ダイアログボックスの工夫 」を利用しています。
マクロの前半部分で、組み込みのダイアログボックスを用いてWordファイル(.doc, .docx)を選択します。
35行目で、選択したファイルのスタイルを、現在ファイルに全てコピーします。
マクロ
Sub スタイルを全てコピーするマクロ() Dim myFilePath As String ' Wordファイルパス Dim myFD As FileDialog Set myFD = Application.FileDialog(msoFileDialogFilePicker) '------------------------------------------------ 'Wordファイルの選択 '------------------------------------------------ With myFD .AllowMultiSelect = False .Title = "Wordファイルを選択してください" With .Filters .Clear .Add "すべてのWordファイル", "*.doc; *.docx" End With If .Show = -1 Then myFilePath = .SelectedItems(1) .Filters.Clear Else .Filters.Clear Exit Sub End If End With '------------------------------------------------ 'スタイルをコピーする '------------------------------------------------ If Dir(myFilePath, vbNormal) <> "" Then ActiveDocument.CopyStylesFromTemplate Template:=myFilePath End If Set myFD = Nothing End Sub