ワード文章中の文字フォントを自動的に統一するマクロがあります。
エラーが出て困っております。修正にご助力いただけませんか。
エクセルなどに比べ、ワードのためのマクロ解説は見当たりません。
しかし使ってみるとものすごく役立ちます。
私が使っているマクロの一つは、長い文章の中にまちまちのフォントで書かれた文字を希望のフォントに統一する物です。日本字はMS明朝大きさ10.5 、英字数字はTimes New Roman 大きさ12に直す物です。
現在連絡が取れない友人から貰ったもので、私には修正が出来ないのです。
Windows7, MSWord 2007 で使用しております。実行すると、
『実行時エラー 5560: [検索する文字列]に指定したパータン マッチングが正しくありません』という表示が出て、止まってしまいます。
WindowsXP ではうまく機能しましたし、Windows7 で動いたことも 時にはあるのです。デバッグボタンを押したところ、(部分表示ですが)
With myRng.Find
.ClearFormatting
.Text = "[0-9A-Za-z,.\\\!\?""'/$\%\&\#\(\)\=\-\+\<\>]{1,}" '半角スペース~チルダ
.Forward = True
.Wrap = wdFindStop
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
.MatchFuzzy = False
With .Replacement
.ClearFormatting
.Text = ""
.Font.Size = 12
End With
.Execute Replace:=wdReplaceAll
End With
と表示され 、下から二行目[Execute Replace:=wdReplaceAll] が黄色く色付けされました。
原因を解説できる方はおられないでしょうか。修正していただければ有り難いのです。
又、ワード用マクロの個人教授、講習会をご存じありませんか。
投稿日時 - 2011-04-01 10:26:02
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こちら↓と同じ質問ですよね?
http://oshiete.goo.ne.jp/qa/5875212.html
内容的にはほとんど変更していないみたいですが。
私はWordのマクロについて解説できるほどのスキルがないので、
基本的には回答しないようにしています。
特にWord2007以降については検証できないので、回答するのは
サイト上に情報があり、確証があるものだけにしています。
今回のことも Wendy02 さんの回答があるので、その回答内容を
最大限尊重したいと思っています。
今回、私なりに解る範囲でアドバイスします。
Sub SelectedFontChangedMSMincho10_5TimesNewRoman12()
Dim myRng As Range
'選択部分以後を対象
With ActiveDocument
Set myRng = .Range(Selection.Range.Start, .Range.End)
End With
'フォントを統一
With myRng.Font
.NameFarEast = "MS 明朝"
.NameAscii = "Times New Roman"
.NameOther = "Times New Roman"
.Size = 10.5
End With
'半角文字を検索してフォントサイズを指定
With myRng.Find
.Text = "[^32-~]{1,}" '範囲は?
.Forward = True
.MatchWildcards = True
With myRng
Do While .Find.Execute = True
myRng.Font.Size = 12
.SetRange .End, .End
Loop
End With
End With
End Sub
上記のマクロはWindowXPのWord2002で動くことは確認しています。
必要ない部分をカットしていますので、必要に応じ検索条件など
追加してください。
これで動かないのなら、[検索]の[ワイルドカード]部分が正しく
なっているか確認するために、一般機能としての検索で検索範囲
を指定して、[見つかったすべてのその項目を強調表示する]への
チェックを付けて[すべて検索]します。結果を確認してフォント
のサイズを12ptにすることでマクロと同じ結果になります。
一般機能で問題があれば、マクロでも動作しないと思います。
マクロよりも先に一般機能の検索や置換を試してみてください。
一般機能で問題がなければ、以下のことを試してみてください。
私が紹介したマクロの「'フォントを統一」部分だけを実行して、
正しく変更されるのかを確認します。そこが正しく動作していて
検索内容を「'半角文字を検索してフォントサイズを指定」をする
部分以降を実行して正しく動くか確認します。
実行する範囲を限定することで、どこが問題なのか確認できます。
Word2007で動かい部分に変更があるのかは、私は検証できません。
ですのでWord2007の仕様変更部分があると、動作しない場合かも。
http://msdn.microsoft.com/en-us/library/bb257590 …
なお、個人教授があるのかどうかは私は知りません。
講習会も、私が知る範囲ではこちら↓の方が行っています。
http://ameblo.jp/gidgeerock/entry-10832022443.html
ただし、新規の参加は難しいようです。
私は参加したことがないので、内容についてはサイト情報だけで
知るだけですので、質問者個人で調べてみてください。
サイト上では書籍や関連情報などが紹介されていますので、今後
勉強するうえで参考になると思います。
この回答への補足
enunokokoro 様 有り難うございました。
はい、約一年前のものと本質的には同じ質問/依頼です。前回は問題を解決できませんでした。回答が悪いのではなく、私の知識不足が問題であると思います。対象マクロは自分で書いたのではなく、インターネットで提供されたものを継ぎ合わせたのです。VisualBasic の知識がない男が、手探りでやったのです。
今回も enunokokoro 様が書いて下さったので、恐縮しております。これをどのようにワードに記憶できるか、頑張ってみますが、あまり自信がないのです。仕事の合間にやりますので、日にちが掛かるでしょう。
私としては、デッバッグを押して、黄色い行が出たので、この行を修正すれば、うまく行くかなと考えていたのです。
以上中間報告とお礼です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) Wordマクロで指定したフォルダ名に保存する方法について 8 2022/12/13 11:35
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- Excel(エクセル) エクセルマクロで教えてください 2 2022/05/04 09:07
- Visual Basic(VBA) Excel VBA 教えてください。 VBA初心者です。 詳しい方がいましたら教えてください。 下記 3 2023/04/25 11:22
- Visual Basic(VBA) Powerpointでランダムな数字の結果を表示するマクロ 2 2023/08/04 10:04
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/03/02 08:40
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ローマ字→カタカナへ変換(エク...
-
複数ファイルにある特定のシー...
-
EXCELのセルへ、デジタル時計を...
-
【Excel VBA】エラー番号400
-
Excelを開いた時に表示さ...
-
AccessのテーブルデータをExcel...
-
エクセルのマクロ機能で前のシ...
-
Excelで行の挿入を繰り返し行う
-
選択範囲の反転
-
Excel VBA のdebug(F8キー) が...
-
マクロ 実行ボタンを押さずに...
-
Excelマクロでオプションボタン...
-
ワードからエクセルへ貼り付け...
-
エラーになってないのにVBA...
-
Excelのワークシート上に検索窓...
-
EXCEL 複数のシートの同一の位...
-
マクロ実行後元に戻すことは
-
「yes」なら実行させて「no」な...
-
ThisWorkbook.Pathを実行すると...
-
エクセルで複数のシートをまと...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ローマ字→カタカナへ変換(エク...
-
マクロ 実行ボタンを押さずに...
-
複数ファイルにある特定のシー...
-
Excel VBA のdebug(F8キー) が...
-
EXCELのセルへ、デジタル時計を...
-
エラーになってないのにVBA...
-
Excelを開いた時に表示さ...
-
Excelのワークシート上に検索窓...
-
【Excel VBA】エラー番号400
-
ワードからエクセルへ貼り付け...
-
Excelマクロでオプションボタン...
-
エクセルのマクロ機能で前のシ...
-
エクセルで複数のシートをまと...
-
Wordの画面を左右にスクロール...
-
エクセル グラフの軸の最小値最...
-
マクロ ブックをマクロなしでコ...
-
EXCEL 複数のシートの同一の位...
-
モジュール内のマクロを全て実...
-
Wordで「原稿用紙○枚」を換算す...
-
TeraTermのマクロについて
おすすめ情報