- ベストアンサー
VBA-MyExcelファイルをコピー
目的は今開いているExcelファイルを適宜バックアップする。 方法として自身Excelに下記VBA「FileCopy」文を記述して実行⇒実行エラーにて失敗。 対処方法又は妙案をご教授ください。 Option Explicit Private Const MyFile = "C:\Tmp\Sample.xls" '自身ファイル Private Const DsFile = "C:\Tmp\Sample_01.xls" '複製ファイル Sub SAMPLE() ThisWorkbook.Save FileCopy MyFile, DsFile End Sub
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
コピーと取る場合は、それ用にSaveCopyASメソッドがあります。 '------------------------------------------- Sub SAMPLE() Const DsFile = "C:\A\Sample 01.xls" '複製ファイル ThisWorkbook.SaveCopyAs DsFile End Sub '----------------------------------------- 因みにコピー作成後も続けてデータ入力などする場合は 回答1のSaveAsではちょと拙いでしょう。 SaveAs実行後、タイトルバーのブック名を見れば理由がわかるはずです。 以上です。
その他の回答 (1)
- FEX2053
- ベストアンサー率37% (7991/21371)
一つ質問なんですが、これって、「バックアップも作る」ってことですよね。でしたら ThisWorkbook.Save ThisWorkbook.SaveAs Filename :="C:\Tmp\Sample_01.xls" で済む話じゃないかと。何も頑張ってコピーしなくていいんじゃないかしら・・・。
お礼
myRangeさんへ ご推察の通り当該エクセルは入力作業をしていて適当なタイミングでバックアップします。勿論、引き続き入力作業も行います。 ご提案いただいたコードを試行した結果⇒成功(希望通りの処理ができました)。 この度は、適切な回答をいただき本当に有難うございました。