
Wordマクロ初心者です。仕事でWordマクロを使うようになったのですが、行き詰まっており、分かる方がいらっしゃいましたら教えてください。
複数の段落があるWord(文書のみで図形やグラフはない)で、段落毎にインデントとぶら下げインデントを設定したい。また、段落毎の先頭の文字を認識して文字の種類によってインデントとぶら下げインデントの文字数を変えたい。
例えば、先頭の文字が1や2などの数字で始まる段落についてはインデント1文字、ぶら下げインデント1文字。先頭の文字がカッコ『 ( 』で始まる段落についてはインデント2文字、ぶら下げインデント2文字。アなどのカタカナで始まる段落についてはインデント3文字、ぶら下げインデント3文字。といったような感じの設定をしたいです。
また段落数は文書の種類により増減するため、段落数が増減しても全文のインデントが設定できるようにしたいです。
そもそもWordマクロでできるのかも分からないのですが、分かる方がいらっしゃいましたら、よろしくお願いいたしますm(._.)m
No.1ベストアンサー
- 回答日時:
Wordマクロに限らず苦手なので方法を探すのも一苦労だったけど、
一応は可能なマクロを提示できるようになりました。
(Like演算子に気が付くまで、かなり遠回りで調べてた)
とりあえず、以下のマクロを試してみてください。
(括弧は半角左丸括弧のみにしています)
Sub 先頭の文字別でインデント()
Dim para As Paragraph
Dim s1, s2, s3 As Variant
Dim i As Long
' 先頭文字の種類をワイルドカードで配列に設定
s1 = Array("[0-9]", "(", "[ァ-ヾ]")
' インデントを配列に設定
s2 = Array("1", "2", "3")
' ぶら下げインデントを配列に設定
s3 = Array("-1", "-2", "-3")
For i = 0 To UBound(s1)
For Each para In ActiveDocument.Paragraphs
With para
If .Range.Characters(1) Like s1(i) Then
.CharacterUnitLeftIndent = s2(i)
.CharacterUnitFirstLineIndent = s3(i)
End If
End With
Next
Next i
End Sub
enunokokoroさん
早速ご回答いただき、ありがとうございます❗
先ほど試してみたら、思いどおりのインデント設定ができました‼️
ワイルドカードはインターネットでいろいろ見ていましたが、いまいち使い方が分からなかったのですが、今回のご回答でよく理解できました( ´ー`)
正直、今回のインデント設定をマクロ化するのは難しいのかなと諦めかけていましたが質問してみて良かったです。Wordマクロは奥が深いですね。
これで仕事が大幅に前進しました。本当に本当にありがとうございました❗感謝致します。
初心者なので、またいろいろと質問することがあるかもしれませんが、よろしくお願いいたします
m(._.)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの改行時、2行目の頭...
-
パワーポイントで箇条書きの際...
-
WORDで見出しを設定すると空白...
-
【ワード】レポートで引用部分...
-
ワードの左インデントとぶら下...
-
インデントの幅
-
VBAコード記述に際して、コード...
-
VScode 設定のエラーについて
-
Wordでインデントを設定すると...
-
エクセル マイナスの表示を▲に...
-
Wordで左詰めできない・・・。
-
PowerPointで、Wordのようにぶ...
-
セル内右寄せ文字列の右側に半...
-
エクセル表の正負が混じった数...
-
エクセルの横位置の均等割付(...
-
ワードパットのルーラーはどう...
-
均等割り付け(インデント)設定...
-
行の真ん中で改行されてしまい...
-
ワードで余白に文字が行かない...
-
パワー・ポイントのテキスト・...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの改行時、2行目の頭...
-
パワーポイントで箇条書きの際...
-
WORDで見出しを設定すると空白...
-
ワードの左インデントとぶら下...
-
【ワード】レポートで引用部分...
-
VBAコード記述に際して、コード...
-
インデントの幅
-
Wordでインデントを設定すると...
-
エクセル マイナスの表示を▲に...
-
エクセル表の正負が混じった数...
-
Excel でインデントを左右に入...
-
行の真ん中で改行されてしまい...
-
PowerPointで、Wordのようにぶ...
-
Wordでレポートの表紙を作って...
-
ワードで余白に文字が行かない...
-
Wordで左詰めできない・・・。
-
セル内右寄せ文字列の右側に半...
-
Word 縦書き時に行末に一字分...
-
WORDのぶら下げインデント...
-
パワー・ポイントのテキスト・...
おすすめ情報