Wordマクロで「ファイルアクセス権のエラー」
Wordマクロ(VBA)でこんなエラーが出ました。
「実行時エラー'5487' ファイルアクセス権のエラーのため保存できません。」
今回のケースでは、ファイル名に改行が入っていました。「エラーメッセージと違うじゃないか!」と思いますが、広い意味ではそうなのでしょう。
サンプルは次の通りです。
Sub test()
temp = ActiveDocument.Paragraphs(5).Range
temp = Mid(temp, 1, Len(temp) - 1)
fn = temp & ".doc"
ActiveDocument.SaveAs (fn)
End Sub
temp = ActiveDocument.Paragraphs(5).Range
temp = Mid(temp, 1, Len(temp) - 1)
fn = temp & ".doc"
ActiveDocument.SaveAs (fn)
End Sub
アクティブなWord文書の5番目の段落の文字列に「.doc」を追加し、これをファイル名として保存する、というものです。
「Pragraphs」を使うと段落を取得することができるのですが、改行を含んでしまいます。
そこで「temp = Mid(temp, 1, Len(temp) - 1)」のようにして右端の文字(改行)を除きます。
これで正しく処理されました。