[[20100428112701]] 『すでに開いてるファイルを保存する時のエラー処理』(くま) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『すでに開いてるファイルを保存する時のエラー処理』(くま)

VBA初心者です。
ActiveWorkbook.SaveAs命令でファイルを保存する時に出るエラー処理について教えてください。
メモ帳でXXXX.csvを開いている状態で以下の処理を実行しても大丈夫なのですが、Excel上でXXXX.csvを開いている状態で以下の処理を実行した場合はエラーが出て止まってしまいます。

SaveAsの戻り値がわからないため、エラー回避処理、またはすでに開いているファイルに対してのエラー処理がわからず困っています。
どなたか教えて頂けないでしょうか?

(実行したい処理内容)XXXX.csvの保存。ファイルが存在していた場合は上書き保存。

(エラー内容)
実行時エラー'1004':
このブックを、ほかの開いているブックまたはアドインと同じ名前で保存できません。別の名前を指定するか、または保存する前に開いているブックまたはアドインを閉じてください。

Sub test()

    〜省略〜

        '確認メッセージの非表示
        Application.DisplayAlerts = False

        '指定したファイル名で保存する
        ActiveWorkbook.SaveAs Filename:= _
        "XXXX.csv", FileFormat:=xlCSV, CreateBackup:=False

        '確認メッセージの表示
        Application.DisplayAlerts = True

        '作成完了メッセージ
        MsgBox "XXXXファイルが作成できました。"

End Sub

「Excel2003」


 >SaveAsの戻り値やエラー回避処理
 戻り値を考えるのは問題外。
 エラー回避処理は、単純に同じ名前のファイルが開いているかを調べればいいんじゃないですか。
 あれば、開いているし、無ければ開いていない。
 BJ

 参考 (↓短くする方法知らない。)
https://www.excel.studio-kazu.jp/cgi-bin/estindex/estseek2.cgi?navi=0&phrase=%E5%90%8C%E3%80%80%E5%90%8D%E3%80%80%E3%83%96%E3%83%83%E3%82%AF%E3%80%80%E9%96%8B%E3%81%84%E3%81%A6%E3%81%84%E3%82%8B%E3%81%8B&attr=&attrval=&order=&perpage=10&clip=-1&qxpnd=0&gmasks=-1&prec=0&pagenum=1&similar=0

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.