• 締切済み

vbaでメモリ不足となる原因は?

ワードのマクロを使って、tifファイル500個ほどを読み込もうとしたところ、読み込みの途中で「メモリ不足です」というメッセージが表示されます。 タスクマネージャで確認すると、たしかに50ファイルほど読み込んだところでメモリが2Gを超えてしまっていました。 メモリ不足になる原因と、解決方法を教えていただけますか? ご参考までに作成したマクロと使用しているPCのスペックを追記します。 Sub Macro1() Dim file_path As String Dim file_name As String Dim I As Integer file_path = "C:\Documents and Settings\user\デスクトップ\説明書\ページ" For I = 1 To 500 file_name = file_path + StrConv(I, 1) + ".tif" With ActiveDocument.Shapes.AddPicture(Anchor:=Selection.Range, FileName:= _ file_name, LinkToFile:=False, SaveWithDocument:=True) .WrapFormat.Type = 3 .ZOrder 5 End With Selection.EndKey Unit:=wdStory Selection.InsertBreak Type:=wdPageBreak Next I End Sub PCのスペック OS:Windows XP メモリ:2G word:2003 よろしくお願いします。

みんなの回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんばんは。 >ワードのマクロを使って、tifファイル500個ほどを読み込もうとしたところ、読み込みの途中で「メモリ不足です」というメッセージが表示されます。 メモリの前に、ファイルサイズがいくつになるか想定していますか?Wordは、Ver.2003までですと、32kb までです。Wordで、500個のtif -->メタファイルに変わるわけで、極端に大きくなっているはずです。それは無理だと思います。Wordで作らなくてはならないのなら、ファイルは、分散させることですね。もともと、Wordは、そのような設計になっているようですから。

first_kan
質問者

お礼

お礼が遅くなってすみません。 早速のご回答ありがとうございました。 たしかに仰るとおりで、tifファイルが1つ30Mb程度だったので、 50×30Mb=1500Mbとなり、もともと使っているメモリが500Mbですので、トータルで2000Mb(2Gb)を超えてしまったということですかね・・・ Wendy02さんのアドバイスどおりファイルを分散させて作成することにします。

関連するQ&A