
1つのファイルに1種類の図表番号が約2,000ほどあり、何らかの原因でスタイルが標準になってしまいました. 修正用のプログラムは以下のようになっていますが、エラーはありませんがスタイルが変更になっておりません。ご指摘よろしくお願いします。
Sub B015参考文献スタイル変更()
Dim rng As Range
Dim searchText As String
Dim styleName As String
' 検索するラベルのテキスト
searchText = "参考文献[0-9]{1,}"
' 適用するスタイル名
styleName = "マ_連番"
' ドキュメント全体を範囲に設定
Set rng = ActiveDocument.Content
' ワイルドカードを使用して検索とスタイル適用
With rng.Find
.ClearFormatting
.text = searchText ' 数字が続くラベルを検索
.MatchWildcards = True
.Format = True
.Execute
Do While .found
' スタイルを適用
rng.style = ActiveDocument.Styles(styleName)
rng.Collapse wdCollapseEnd
.Execute
Loop
End With
MsgBox "ラベル「" & searchText & "」にスタイル「" & styleName & "」が適用されました。"
End Sub
No.2ベストアンサー
- 回答日時:
VBAで処理する前に、通常の高度な検索機能での処理として、以下の
[検索する文字列]で検索でいているのでしょうか?
参考文献[0-9]{1,}
検索対象が[図表番号]で自動挿入されたものならば、挿入した表記は
ラベル名+半角スペース+図表番号としての連番(SEQフィールド)で
用意されます。
参考文献 [0-9]{1,}
上記でワイルドカード検索が出来ているなら、一部の修正するだけで
済みますが、私が試したものだと検索できませんでした。
ラベル名だけとか連番部分だけなら検索したのですが、続けた場合の
処理は何故かできなかったからです。
もしも、通常の高度な検索での処理ができない場合は、以下のような
検索に切り替えたほうが良いかもしれません。
[ Alt+F9 ]キーでフィールドコードを表示。
[高度な検索]で、[ワイルドカード]と[あいまい検索]へのチェックを
入れないで、[検索する文字列]を以下のようにします。
参考文献 \d SEQ 参考文献
これで検索出来た場合は、マクロを上記手順で処理します。
Sub B015参考文献スタイル変更()
Dim rng As Range
Dim searchText As String
Dim styleName As String
' 検索するラベルのテキスト(参考文献ラベルのみ)
searchText = "参考文献 ^d SEQ"
' 適用するスタイル名
styleName = "マ_連番"
' ドキュメント全体を範囲に設定
Set rng = ActiveDocument.Content
' フィールドコードを表示する
ActiveWindow.View.ShowFieldCodes = True
' 検索とスタイル適用
With rng.Find
.ClearFormatting
.text = searchText ' 数字が続くラベルを検索
.Format = True
.Execute
Do While .found
' スタイルを適用
rng.style = ActiveDocument.Styles(styleName)
rng.Collapse wdCollapseEnd
.Execute
Loop
End With
' フィールドコードを非表示にする
ActiveWindow.View.ShowFieldCodes = False
MsgBox "ラベル「" & searchText & "」にスタイル「" & styleName & "」が適用されました。"
End Sub
Enunokokoro 様
詳しくご解説ありがとうございます。修正頂いたVBAで希望通り、検索後スタイルが変更になりました。 「参考文献 [0-9]{1,}」もだめ、ご指示頂いた高度な検索もだめで、多くのデータをを手動しかないかと諦めておりましたので、大変助かります。
No.3
- 回答日時:
No.2の回答者です。
質問にあるマクロで検索結果があるかどうかを確かめる書き方です。
https://www.relief.jp/docs/word-vba-find-if-not- …
Sub B015参考文献スタイル変更()
Dim rng As Range
Dim searchText As String
Dim styleName As String
' 検索するラベルのテキスト
searchText = "参考文献[0-9]{1,}"
' 適用するスタイル名
styleName = "マ_連番"
' ドキュメント全体を範囲に設定
Set rng = ActiveDocument.Content
' ワイルドカードを使用して検索とスタイル適用
With rng.Find
.ClearFormatting
.Text = searchText ' 数字が続くラベルを検索
.MatchWildcards = True
.Format = True
' 検索対象があれば
If .Execute Then
Do While .Found = True
' スタイルを適用
rng.Style = ActiveDocument.Styles(styleName)
rng.Collapse wdCollapseEnd
.Execute
Loop
MsgBox "ラベル「" & searchText & "」にスタイル「" & styleName & "」が適用されました。"
' 検索対象がない場合
Else
MsgBox "検索対象が見つかりませんでした"
End If
End With
End Sub
ご丁寧に追加情報ありがとうございます。今後の参考にさせてもらいます。実際には参考文献+SEQ+情報元の文字列の1行表示なっておりますが、「searchText = "参考文献 ^d SEQ"」で1行すべてにスタイルが適用され元に戻りました。深謝です。
No.1
- 回答日時:
こんばんは
WordのVBAはほとんど存じませんので、よくわかってませんけれど・・・
>1つのファイルに1種類の図表番号が約2,000ほどあり~~
通常の「図表番号の挿入」で入れている図表番号のことですよね。
その場合、番号はテキストボックスになっていて、本文ではないと思います。
ですので、「ActiveDocument.Content」から検索してもヒットしないのではないでしょうか?
もしそうなら、テキストボックスから検索するか、画像等に紐づけられたCaptionから検索するなどの方法になりそうな気がしますけれど・・
ご返信ありがとうございます。検索ボックスでワイルドカード検索してみましたが、参考文献[0-9]{1,}は出てきませんでした。私もみようみまねでVBAをしている高齢者で、数多くの処理を手動でするのを避けないと思っていますが、手動になるかもしれませんね。早速のご連絡に深謝です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストボックスの文字列を上...
-
MSワードのパスワード
-
テスト問題などにある四角い空...
-
アイコン名に(1)が付いているの...
-
ワードの句読点が変な位置に出...
-
文章の途中に四角い穴埋めをつ...
-
我慢の左上に文字が表示される現象
-
Windows10のクイックアクセスと...
-
QRコードについて
-
同様の質問になってしまいます...
-
IMEパッドの手書き入力
-
ワードが白と黒が反転してしま...
-
Yahooマップでキーワードを入力...
-
Office365 ワードのアイコンが...
-
office ワードで段組みで分けた...
-
正の字の入力
-
ワードの段落番号と文字の隙間...
-
ワードで,一瞬,英数になって...
-
ワードで図の変更をすると図の...
-
ワードで「 」(カギかっこ)の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストボックスの文字列を上...
-
ワードの句読点が変な位置に出...
-
MSワードのパスワード
-
同様の質問になってしまいます...
-
Windows10のクイックアクセスと...
-
ワードが白と黒が反転してしま...
-
Yahooマップでキーワードを入力...
-
アイコン名に(1)が付いているの...
-
テスト問題などにある四角い空...
-
QRコードについて
-
正の字の入力
-
ワード PDF化した際、背景の...
-
ワードの段落番号と文字の隙間...
-
文章の途中に四角い穴埋めをつ...
-
Office365 ワードのアイコンが...
-
ワードで,一瞬,英数になって...
-
我慢の左上に文字が表示される現象
-
ワードで「 」(カギかっこ)の...
-
マイクロソフトワードのアプリ...
-
ワード レイアウトの崩れ
おすすめ情報