エクセルVBAでよく使うコードの備忘録。VBAでワードファイルを操作し、指定範囲の書式を変更するコード。
事前準備
VBAでワードファイルを操作するには、参照設定が必要です。VBAのコードエディタから「ツール > 参照設定」と進み、「Microsoft Word XX.X Object Library」にチェックを入れておきます。
共通コード
説明するコードを簡素化するために使用した変数などの共通部分です。今回のテーマの本質的な部分には関係はありません。コードを使用する際はカッコに囲まれた部分([***])を自分のプログラムに合わせて変更してください。
'--- Wordのアプリケーションオブジェクト ---'
Dim objWord As Word.Application
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
'--- ドキュメントオブジェクト ---'
Dim objDoc As Word.Document
Set objDoc = objWord.Documents.Open("[ワードファイルのパス]")
'--- 全体を選択する ---'
objDoc.StoryRanges(wdMainTextStory).Select
フォントの種類
フォントの変更はFontオブジェクトのNameプロパティから行います。
objWord.Selection.Font.Name = "[フォント名(Times New Romanなど)]"
サイズ
フォントのサイズを変更するにはSizeプロパティを使います。
objWord.Selection.Font.Size = [フォントサイズ]
太字
フォントを太字にするかどうかの制御にはBoldプロパティを使います。
objWord.Selection.Font.Bold = [TrueかFalse]
斜体
斜体にするにはItalicプロパティを使います。
objWord.Selection.Font.Italic = [TrueかFalse]
色
フォントの色の変更にはColorIndexプロパティを使用します。
objWord.Selection.Font.ColorIndex = [ColorIndex(wdBlackなど)]
取り消し線
取り消し線の設定には、StrikeThroughかDoubleStrikeThroughプロパティを使います。DoubleStrikeThroughをTrueにすると二重の取り消し線になります。
'--- 取り消し線(一重) ---'
objWord.Selection.Font.Strikethrough = [TrueかFalse]
'--- 取り消し線(二重) ---'
objWord.Selection.Font.DoubleStrikeThrough = [TrueかFalse]
下線
下線を引くにはUnderlineプロパティを使います。下線の種類(点線など)はプロパティに設定する値でコントロールします。
objWord.Selection.Font.Underline = [下線の種類(wdUnderlineDashなど)]
下線の色
下線の色はUndderlineColorプロパティで設定できます。
objWord.Selection.Font.UnderlineColor = [下線の色(wdColorBlackなど)]
浮き出し
文字を浮き出しにするにはEmbossプロパティをTrueに設定します。
objWord.Selection.Font.Emboss = [TrueかFalse]
浮き彫り
文字を浮き彫りにするにはEngraveプロパティをTrueに設定します。
objWord.Selection.Font.Engrave = [TrueかFalse]
強調マーク
文字に強調マークを付けるにはEmphasisMarkプロパティです。
objWord.Selection.Font.EmphasisMark = [マークの値(wdEmphasisMarkOverCommaなど)]
影
フォントにかげを付けるには、Shadowプロパティの値をTrueにします。
objWord.Selection.Font.Shadow = [TrueかFalse]
上付き・下付き文字
文字を上付きにするには、Superscriptプロパティの値をTrueにします。下付きにする場合は、Subscriptプロパティです。
'--- 上付き文字 ---'
objWord.Selection.Font.Superscript = [TrueかFalse]
'--- 下付き文字 ---'
objWord.Selection.Font.Subscript = [TrueかFalse]