エクセル2003でワードファイルを開き、そのページ数をカウントしてファイル名が入ったセルの隣にページ数を入れるマクロを作成したのですが、順番に3つ位は動くのですが上記のエラーメッセージが出てしまい、止まってしまいます。ファイル名の作成方法は同じでなのでなぜファイルが開けなくなるのかわかりません。
N列にディレクトリ1:C:\Documents and Settings\Administrator\デスクトップ\フォルダ1(\は¥マークです。以下同じ)
O列にディレクトリ2:\フォルダ2
P列にディレクトリ3:\フォルダ3
Q列にディレクトリ4:\フォルダ4
R列にファイル名:\aaa.doc
S列にファイル名(式):=A列&B列&C列&D列&E列
<マクロ>
Dim MyWD As Object
Dim i As Integer
'19列目(S列)の最後まで行数をカウント
For i = 1 To Cells(Rows.Count, 19).End(xlUp).Row
Cells(5 + i, 19).Select
Selection.Copy
Cells(5 + i, 21).Select
Selection.PasteSpecial Paste:=xlPasteValues
Set MyWD = CreateObject("Word.Application")
Application.ScreenUpdating = False
If (Trim(Cells(5 + i, 21).Value) <> "") Then
MyWD.Documents.Open Filename:=Cells(5 + i, 21).Value, ReadOnly:=True
Cells(5 + i, 22) = MyWD.activedocument.BuiltinDocumentProperties("Number of Pages")
MyWD.activedocument.Close SaveChanges:=0
End If
Next i
Application.ScreenUpdating = True
End Sub
このマクロの結果
U列に値コピペされたアドレス名が入りV列にカウントされたページ数が入るのですが、標記のエラーメッセージが出て止まってしまいます。
ファイル名には「ローマ数字」「-」「[1]」のような文字も含まれていますが全てのファイルに含まれており、最初の方は問題なく開いています。開くファイルと開かないファイルの境目はQ列にディレクトリ名が有るか無いかです。因みに開かないファイル名にはQ列にディレクトリ名があります。
このマクロをきれいに動くようにするにはどうすればよいのでしょうか。ご教示願えれば幸いです。