• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:WORD2007 VBA)

【WORD2007 VBA】オープンしているWORDファイルで使用されているフォント名とサイズを全て一覧表示するVBA

このQ&Aのポイント
  • オープンしているWORDファイルで使用されているフォント名とサイズを全て一覧表示するVBAの作成方法について教えてください。
  • n-junさんからの回答で、サンプルを作成しテストしたところWORD2007で希望通りの結果が得られましたが、大きなWORDファイルに適用したところ結果が表示されない問題が発生しています。エラーメッセージも表示されないため、解決方法を教えていただきたいです。
  • 実際にWORD2002で検証してみましたが、問題なく動作しました。

質問者が選んだベストアンサー

  • ベストアンサー
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

No.1です。 WordVBAは殆どやったことはないのですが、 Excelなんかでもデータ数が増えてくると 動きが悪くなるケースもあります。 今回のコードは1文字ずつチェックしていくため ページ数増加による文字数が増えているのが 影響してくるのではないかと思われます。 エラーが出ていないとの事ですから Dim i As Integer を Dim i As Long に変更するとかも違うでしょうし。。。。 ファイルを分割して調べるなどしかないのかな?

oldhidesan
質問者

お礼

Integer から Longに変えてみましたが、結果は表示されませんでした。 色々お世話になりました。

その他の回答 (1)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

例えば大きなワードファイルの半分とかならどうなのかとか、 大きなワードファイルはコードを記載したものとは 別のドキュメントなのかとか、 色々条件になる部分がありそうですけど・・・ 例えばコードを記載したものとは 別のドキュメントであれば、 For Each v In ActiveDocument.Range.Characters を For Each v In Documents("abc.doc").Range.Characters (adc.docと言うドキュメントで既に開いている場合) にしてみるとかかな? あとはその大きなワードファイルが 本当に大きすぎるとかなら、 そのファイルで検証しないと難しいかも。

oldhidesan
質問者

補足

n-jun さん ご返事ありがとうございます。 最後のファイル名を入れる方法は試しましたが、今までと変わりませんでした。 テストしたファイルは91ページのA4ファイルです。 10ページまでのファイル、20ぺージまでのファイル、30ページまでのファイル、40ページまでのファイルは正しく結果が表示されました。しかし、50ページまでのファイルで結果表示が出なくなりました。 上記のファイルは殆どが表の構成になっており、その中には200ほどの図が入っており、また多くのハイパーリンクが設定されております。 ファイルが大きくなるだけで結果が違うようなことがVBAでは良くあることなのでしょうか?

関連するQ&A