Word VBA/マクロ 備忘録

作業効率化のため作成したマクロをバックアップ代わりにアップしていきます。

2023-01-01から1年間の記事一覧

【Word VBA/マクロ】インデント解除

サンプルコードでできること インデントを解除します。 Sub インデントなしに設定() With Selection.ParagraphFormat .CharacterUnitLeftIndent = 0 .CharacterUnitFirstLineIndent = 0 .LeftIndent = 0 .FirstLineIndent = 0 End With End Sub コードの説明…

【Word VBA/マクロ】字下げインデントの指定/ぶら下げインデントの指定

インデント設定は、単位によってコード記述に違いがあります。くり返しコードを修正しても、思いどおりに動作せず混乱しました。ようやく理解しても、すぐに忘れるため、設定の基本を残しておこうと思います。 サンプルコードでできること ○字単位、mm単位で…

【Word VBA/マクロ】インデントの単位変換(○字→mm)

サンプルコードでできること インデントの単位○字をmmかptに変更します。変更される単位はオプションの設定によります。次のような単位が不揃いの時に使用します。 Sub インデントの単位_mmやptに変換() Dim para As Paragraph For Each para In Selection.P…

【Word VBA/マクロ】選択セルの指定方法

選択した2つのセルを処理するとき、次のコードを使用します。 Selection.Cells 次のコードは、Selectionの後にRangeが入ります。Selection.Cellsと同じと思っていたら、2列目の1行目のセルも含まれるようです。 Selection.Range.Cells セル数を確認すると、2…

【Word VBA/マクロ】段落番号の後にタブを挿入

サンプルコードでできること 選択した段落の段落番号の後にタブを挿入します(処理対象は自動番号ではなく、テキストの番号)。スペースが挿入されている場合は削除して、代わりにタブを挿入します。下記の番号の種類を段落番号と判定しています。 (数字の…

【Word VBA/マクロ】カーソル位置にタブ追加

サンプルコードでできること カーソルの位置にタブを追加します。 ルーラーのタブボタンから、タブの種類の選択なしでタブを追加できます。 Sub 左タブを追加() AddTab wdAlignTabLeft End Sub Sub 右タブ追加() AddTab wdAlignTabRight End Sub Sub 中央タ…

【Word VBA/マクロ】検索の基本構文

検索構文をまとめています。 他の基本構文はこちら よく使用するコードはこちら Sub 検索基本構文_Range方式() Dim rng As Range '文書の先頭位置にrngをセット Set rng = ActiveDocument.Range(0, 0) With rng.Find .Text = "検索ワード" '検索条件に書式を…

【Word VBA/マクロ】アクティブページの図形のグループ化

サンプルコードでできること カーソルのあるページのオートシェイプ等の図をすべてグループ化します。 Sub アクティブページの図形を選択とグループ化() If Selection.Type = 8 Then MsgBox "図形が選択されています。図を選択しないで実行してください" Exi…

【Word VBA/マクロ】ウィンドウ左に表示

サンプルコードでできること ウインドウを画面の左側に表示します。 Sub ウインドウ左表示() Dim dWidth As Long, dHeight As Long With ActiveWindow .WindowState = wdWindowStateMaximize dWidth = .Width dHeight = .Height .WindowState = wdWindowStat…

【Word VBA/マクロ】文書内すべてのフォント設定

サンプルコードでできること 本文、ヘッダー・フッター、オートシェイプ、スマートアート等のフォントをArialに設定します。 Sub AllFontArial() Dim stFont As String stFont = "Arial" Dim b As Boolean b = FontChangeMsg(stFont) If b = False Then Exit…

【Word VBA/マクロ】表の罫線の太さ変更

サンプルコードできること 文書内すべての表の罫線0.5ptを0.75ptに変更します。 Sub 罫線の太さ変更() Dim bd As Border Dim tbl As Table Dim cel As Cell Application.ScreenUpdating = False For Each tbl In ActiveDocument.Tables For Each cel In tbl.…

【Word VBA/マクロ】表の配置を中央に設定/表内の表の配置を中央に設定

サンプルコードでできること 文書内の表すべての上下配置を中央に設定します。 コードの内容 For Each構文を用いて、文書内の表すべての上下配置を変更しています。 Sub 表の配置を中央揃えに設定() Dim tbl As Table For Each tbl In ActiveDocument.Tables…

【Word VBA/マクロ】セルの罫線の太さ確認

サンプルコードでできること セルの上下左右の罫線の太さを表示します。 カーソルを置いた単一セルを想定していたのですが、複数セルでも動作します。 ただ下図のように、どこのセルの線幅か分かりづらいです。 コードの説明 If Selection.Information(wdWit…

【Word VBA/マクロ】本文フォントの変更

コードの説明 ActiveDocument.Contentで本文領域を示すRangeオブジェクトを取得。 NameFarEastプロパティとNameプロパティで、日本語と英数字フォントを指定します。 Sub 本文フォント変更() With ActiveDocument.Content.Font .NameFarEast = "MS ゴシッ…

【Word VBA/マクロ】選択フォントの変更

サンプルコードでできること 選択したテキストをMSゴシック、Arialに変更します。 コードの説明 .NameFarEast = "MS ゴシック" .Name = "Arial" NameFarEastプロパティで日本語フォント、Nameで英数字フォントを指定します。 Sub 選択フォントの変更() Wit…

【Word VBA/マクロ】ヘッダー・フッターのフォント変更

サンプルコードでできること ヘッダー・フッターのフォントをMSゴシック+Arialに変更します。 コードの説明 Dim hdr As HeaderFooter, ftr As HeaderFooter ヘッダーとフッターの変数は、As 以下が同じです。 そのため「Dim hdr_ftr As HeaderFooter」のよう…

【Word VBA/マクロ】編集記号すべて表示のオン・オフ切り替え

サンプルコードでできること 編集記号すべて表示のオン・オフを切り替えます。 Sub 編集記号を全て表示の切り替え() With ActiveWindow.View .ShowAll = Not .ShowAll End With End Sub

【Word VBA/マクロ】隠し文字/ブックマーク/コメント/トリミングマーク/文字列枠 表示のオン・オフ切り替え

サンプルコードでできること 隠し文字表示のオン・オフを切り替えます。 Sub 隠し文字表示切り替え() With ActiveWindow.View .ShowHiddenText = Not .ShowHiddenText End With End Sub サンプルコードでできること ブックマーク表示のオン・オフを切り替え…

【Word VBA/マクロ】禁則処理のレベル表示/禁則処理のレベル変更

サンプルコードでできること 「標準」「高レベル」等、禁則文字の設定を表示します。 コードの説明 Select Case構文を用いて、禁則文字の設定を表示します。 Sub 禁則処理の設定表示() Select Case ActiveDocument.FarEastLineBreakLevel Case 0 MsgBox "標…

【Word VBA/マクロ】使用する単位の確認/mmとpointの切り替え

サンプルコードでできること mm、pointなど、使用する単位を表示します。 コードの説明 Select Case構文を用いて、使用する単位を判定します。 Sub 使用する単位の表示() Select Case Options.MeasurementUnit Case 0 MsgBox "インチ(in)" Case 1 MsgBox "…

【Word VBA/マクロ】基本構文(段落、図、表処理ほか)

よく使用する構文をまとめておきます。 よく使用するコードはこちら 検索の基本構文はこちら Sub 段落処理の基本構文() '文書内の段落を1つずつ処理します。 Dim para As Paragraph For Each para In ActiveDocument.Paragraphs '処理内容を書く Next End Su…

【Word VBA/マクロ】文書内全てのオートシェイプのフォント変更

サンプルコードでできること 文書内の全てのオートシェイプのフォントを変更します。 コードの説明 jFont = "MS ゴシック" eFont = "Arial" 変数に日本語フォントと英数字フォントを格納します。 ActiveWindow.View.Type = wdPrintView 図を表示するため印…

【Word VBA/マクロ】アクティブページの図のフォント変更

サンプルコードでできること 表示ページの図のフォントを変更します コードの説明 EfontName = "Arial" JfontName = "MS ゴシック" 英数字フォントと日本語フォントを変数に格納します。 For Each inShp In ActiveDocument.Bookmarks("\Page").Range.Inlin…

【Word VBA/マクロ】隠し文字解除

サンプルコードでできること 隠し文字を解除します。解除対象 ・本文 ・オートシェイプ ・脚注 ・ヘッダー・フッター ・ヘッダー・フッター内のオートシェイプ ・描画キャンパス コードの説明 コードが長くなるため、解除対象ごとにプロシージャを分けていま…

【Word VBA/マクロ】ハイパーリンクの一覧作成

サンプルコードでできること ハイパーリンクのリストを別文書に作成します。リストの内容 1列目 ハイパーリンクの設定されているページ 2列目 表示文字列 3列目 リンク先 プログラムの説明 For Each hpLink In ActiveDocument.Hyperlinks With hpLink If .Ad…

【Word VBA/マクロ】選択範囲内の置換

サンプルコードでできること 選択した範囲内のタブを全角スペースに置換します。 コードの説明 mae = vbTab '検索キーワード ato = " " '置換キーワード 必要に応じてキーワードを変更します。 .MatchAllWordForms = False .MatchSoundsLike = False .MatchF…

【Word VBA/マクロ】よく使用するコード、便利コード

簡単なコードが意外と出て来ないので、よく使用するコードをまとめておきます。 段落、図、表、ヘッダーフッター構文はこちら 検索の基本構文はこちら Sub 文書の先頭に移動() ActiveDocument.Range(0, 0).Select End Sub Sub 文書の最後に移動() ActiveDocu…

【Word VBA/マクロ】コメントの一覧作成

サンプルコードでできること コメントの一覧を作成します。 1列目 コメントの挿入ページ 2列目 作成者 3列目 コメントの付けられた文字列 4列目 コメント Sub GetCommentList() 'コメントの一覧(ページ、作成者、コメントの付けられた文字列、コメント)を…

【Word VBA/マクロ】蛍光マーカー(ハイライト)のテキスト抽出(本文、ヘッダー・フッター、脚注、オートシェイプ)

サンプルコードでできること 本文、ヘッダー・フッター、脚注、オートシェイプの蛍光マーカーの文字列を抽出。別文書にリストを作成します。 リストの1列目にページ番号、2列目に蛍光マーカーの文字列を表示します。 コードの説明 本文、オートシェイプ、脚…

【Word VBA/マクロ】蛍光マーカー(ハイライト)のテキスト抽出

サンプルコードでできること 蛍光マーカーのテキストを抽出して、別文書に蛍光マーカーのページとテキストの一覧を作成します。 コードの説明 Range.Findを用いて蛍光マーカーを検索。Do While~Loopで見つかったマーカーにテキストが含まれている限り、検索…