• ベストアンサー

【Excel VBA】ファイル名の指定

Excel2003を使用しています。 C:\Book1 をコピーして貼り付ける場所を A: にするときに、貼り付け先のBook名を変更したく、そのBook名はその都度指定したいのですが、例えば、InputBox に入力した名前で貼り付ける等できるでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • x0000x
  • ベストアンサー率52% (67/127)
回答No.2

以下で処理できます。 Sub CopyBook() Dim path As String path = "C:\" Dim DestFileName As String DestFileName = InputBox("コピー先ファイル名を入力すること。", "ファイル名入力") FileCopy path & "Book1.xls", path & DestFileName End Sub ※ ただし、Book1.xlsがOPENされている場合は失敗します。 Open中ファイルを対象にするならFileSystemObject オブジェクトのCopyFileメソッドで可能かと。

rx-z5815
質問者

お礼

おはようございます。 おかげさまで、無事処理できました。 ありがとうございました。

その他の回答 (2)

  • x0000x
  • ベストアンサー率52% (67/127)
回答No.3

#2です。 COPY先は”A:”でしたね。 FileCopy path & "Book1.xls", path & DestFileName    ↓ FileCopy path & "Book1.xls", "A:\" & DestFileName としてください。

  • pamsd
  • ベストアンサー率18% (39/209)
回答No.1

補足要求です。 VBAは、どのように記述していますか? または、する予定ですか?

rx-z5815
質問者

補足

>VBAは、どのように記述していますか? >または、する予定ですか? コピー元のBookにはコードを記述できないので、貼り付ける側(A:)にコードを記述するためのBookを別に作り、そのBookを開くことで、マクロを実行するようにしようかと考えています。 個人用マクロブックに保存しようかとも思いましたが、他でこのマクロを使用することはないので…。

関連するQ&A