- ベストアンサー
エクセルVBA 開いているブックのコピー
filecopyを使って、ファイルをある場所から別の場所へコピーしたいと思っています。 しかし、コピー元のファイルが開かれていると、エラーが出ていることがわかりました。 FileCopy "C:\xxxxx\B.xls","C:\yyyyy\B.xls" といったコードで、B.xlsが開かれていると、エラーが起こります。 エラーが起こるのはこのコマンドの仕様のようです。 ただし、自分自身(このコードを実行しているファイル)はA.xlsとします。 対象のファイルが開かれていてもコピーするには、どうしたらよいでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 エラーになるのは、内部コマンドを使うからでは? Set objFso = CreateObject("Scripting.FilesystemObject") objFso.Copyfile "C:\xxxxx\B.xls","C:\yyyyy\B.xls" Set objFso = Nothing というようにしてみたら、いかがですか?
その他の回答 (1)
noname#203218
回答No.2
下記方法でも可能だと思います。ご参考まで。 Workbooks("B.xls").Activate ActiveWorkbook.SaveAs Filename:="C:\yyyyy\B.xls"
質問者
お礼
回答ありがとうございます。 今度試してみますね。
お礼
みようみまねでやってみたらできました! 意味はよくわかっていないですが、とりあえず動いたので良しとします。 回答ありがとうございました。