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で質問しましょう!
似たような質問が見つかりました
- Word(ワード) word 文字数のずれ 2 2023/01/18 10:04
- Word(ワード) Word2013 一行目のインデント位置 1 2022/09/23 06:05
- Word(ワード) ワード(2013)行間設定について 3 2023/08/08 09:27
- Word(ワード) Wordの表中の文字を選択した時の白黒反転の違い 1 2023/04/25 12:13
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- その他(悩み相談・人生相談) 大学生です レポートについて質問します 引用や参考にした文章と本文の流れがある場合は、無理にインデン 1 2023/06/02 07:20
- Word(ワード) Word 段落罫線の上下のスペースを広げるには 3 2023/08/04 10:52
- Word(ワード) ワードのインデントについて 写真②のぶら下げインデントだけ動かしたくても、いつも写真③まで動いてしま 3 2022/07/31 19:06
- その他(プログラミング・Web制作) テキストエディタで複数行にわたる文字列の行頭に番号を振る方法 4 2023/03/11 12:57
- Word(ワード) Wordでの印刷サイズについて A4の原稿をB5サイズで出力したいとき、 印刷から用紙サイズの指定か 4 2022/04/30 09:51
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
Wordマクロで、一行目と二行目のインデントを解除する
Word(ワード)
-
ワードのマクロで段落番号(文字も含む)取得ってできますか
Word(ワード)
-
Word VBA マクロ スペースをインデントに変換する
Word(ワード)
-
-
4
WORD VBA 繰り返し処理
Word(ワード)
-
5
ワードの図形をコピー&ペイストのマクロ
Word(ワード)
-
6
WORDマクロで特定文字から別文字までを範囲選択したい
Word(ワード)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの改行時、2行目の頭...
-
パワーポイントで箇条書きの際...
-
【ワード】レポートで引用部分...
-
Wordで左詰めできない・・・。
-
WORDで見出しを設定すると空白...
-
ワードの左インデントとぶら下...
-
VBAコード記述に際して、コード...
-
エクセル表の正負が混じった数...
-
行の真ん中で改行されてしまい...
-
PowerPointで、Wordのようにぶ...
-
エクセル マイナスの表示を▲に...
-
ワードの目次 フィールドの更新...
-
Wordで英文を打ちたいのですが...
-
WORDのぶら下げインデント...
-
セル内右寄せ文字列の右側に半...
-
Word 縦書き時に行末に一字分...
-
ワードパットのルーラーはどう...
-
インデントの幅
-
EXCEL:インデントがうまく印刷...
-
Word 箇条書きに張り付けるとイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの改行時、2行目の頭...
-
パワーポイントで箇条書きの際...
-
WORDで見出しを設定すると空白...
-
Wordで左詰めできない・・・。
-
ワードの左インデントとぶら下...
-
VBAコード記述に際して、コード...
-
【ワード】レポートで引用部分...
-
行の真ん中で改行されてしまい...
-
インデントの幅
-
エクセル マイナスの表示を▲に...
-
ワードで余白に文字が行かない...
-
Wordでインデントを設定すると...
-
エクセル表の正負が混じった数...
-
Excel でインデントを左右に入...
-
インデントが下がったセルだけ...
-
WORDのぶら下げインデント...
-
Word 縦書き時に行末に一字分...
-
PowerPointで、Wordのようにぶ...
-
ワードの目次 フィールドの更新...
-
エクセルの横位置の均等割付(...
おすすめ情報