No.2ベストアンサー
- 回答日時:
> 「実行時エラー'70' 書き込みできません」
「FileCopy」のヘルプをみると(VBE画面右上の検索窓にて「FileCopy」で検索)、
> 既に開いているファイルに対して、FileCopy ステートメントを実行しようとすると、エラーが発生します
と解説欄にありますので、自身のコピーの作成には使えないはずです。
(こちらで同じエラーとなることを確認しました)
自身を複製する場合は、以下のようにします(FileSystemObjectを使った例):
Private Sub Sample1()
'変数の宣言
Dim FSO As Object
'FileSystemObjectを作成
Set FSO = CreateObject("Scripting.FileSystemObject")
'FileSystemObjectに用意されている「CopyFile」を使用して複製
FSO.CopyFile CurrentProject.FullName, "C:\あああ.mdb"
'念のため、明示的にメモリを解放
Set FSO = Nothing
End Sub
なお、VBEのメニューで、「ツール(T)→参照設定(R)」を選択して『参照設定』
ダイアログを開き、「Microsoft Scripting Runtime」のチェックをオンにすると、
以下のような書き方もできます。
(特にコードの簡略化ができるわけではありませんが、「FSO.」と入力したときに、
「.」の後に続けられる候補が表示されるので、自分でコードを書くときに便利)
Private Sub Sample2()
Dim FSO As FileSystemObject
Set FSO = New FileSystemObject
FSO.CopyFile CurrentProject, "C:\あああ.mdb"
Set FSO = Nothing
End Sub
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
なお、No.1の方のお礼欄のエラーですが、「Const」(=定数)を宣言した場合は、
「=」の後ろには
「"あああ.mdb"」などの定数や
「"test" & vbCrLf」などの定数だけでできた式(=定数式)
は指定できますが、「.FullName」のようなプロパティ、或いは同時に宣言した
変数などを指定することはできませんので、合わせて参考まで。
No.1
- 回答日時:
勘違いしてたらすみません↓
これで出来ないでしょうか。。
Private Const cnsSOUR = "C:\あああ.mdb" ' 元ファイル
Private Const cnsDEST = "C:\いいい.mdb" ' 先ファイル
Sub Sample()
FileCopy cnsSOUR, cnsDEST
End Sub
ご提示のコードでできました!
ありがとうございます。
しかし元ファイルをカレントファイルで取得したい場合どういった方法があるでしょうか?
やはり
Private Const cnsSOUR = CurrentProject.FullName
だと
「定数式が必要です」
となってしまいます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください 物件ごとのフォルダを作成してます そのフォルダ内にサブフォル 2 2023/07/02 17:58
- Excel(エクセル) 1つのファイルを3つのフォルダにファイル名を【明日の日付】にして、コピーをしたい 2 2022/12/21 17:43
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/26 17:13
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/10 11:34
- Excel(エクセル) 1つのファイルを複数のフォルダにファイル名を【明日の日付】にして、コピーしたい 5 2022/12/13 20:11
- Visual Basic(VBA) Wordマクロで指定したフォルダ名に保存する方法について 8 2022/12/13 11:35
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/24 08:33
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Excel(エクセル) 2つのマクロを連続して動かしたい 3 2022/09/20 23:46
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/21 09:42
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
エクセルVBAで開いているファイルをコピーする方法
Visual Basic(VBA)
-
エラーコード 70 「書き込みできません」について
Visual Basic(VBA)
-
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
-
4
Accessで別mdbのテーブルをコピー
その他(プログラミング・Web制作)
-
5
AccessVBAで作成したExcelファイルを削除する方法は?
Visual Basic(VBA)
-
6
FSO.CopyFileでのエラー無視方法
その他(Microsoft Office)
-
7
エクセルVBA 開いているブックのコピー
Excel(エクセル)
-
8
Accessでレコードを別テーブルへコピーするには
Access(アクセス)
-
9
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
10
VBAをつかってクエリの情報を抽出するには??
Visual Basic(VBA)
-
11
Accessを開くと「排他モードじゃないので変更しても保存できない」との旨の表示が出てしまう。
Access(アクセス)
-
12
テキストボックスにクエリ結果を表示させたい
その他(データベース)
-
13
Accessでテーブル名やクエリ名一覧の抜き出し
Access(アクセス)
-
14
accessの処理が遅い
その他(データベース)
-
15
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
16
ExcelでVBAを使用した際に、『パス名が無効です』とエラーになります。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「パス名が無効です」の発生原因
-
VBでファイルが開かれているか...
-
batファイルでレジストリキーの...
-
VBから参照できないCのDLLを使...
-
Returnに対するGoSubがありません
-
Excel VBAのApplication.Execut...
-
EXCELのVBAでWORDが開いてある...
-
[VBS]ファイルコピーで怪奇現象
-
VBA ExecuteExcel4Macro 型が一...
-
VB スクリプトで
-
FORTRANの実行エラーについて
-
今DirectSoundの初期化でわから...
-
gccを行ってもexeファイルが生...
-
EXCELのVBAでの保存方法
-
Excel 2003 のエラーメッセージ
-
アクセスでイベントのロジック...
-
fgets関数のEOFの扱い方について
-
【COBOL】read文でエラー
-
access テキストボックスの値取得
-
すでにファイルが開かれている...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
gccを行ってもexeファイルが生...
-
VBでファイルが開かれているか...
-
「パス名が無効です」の発生原因
-
batファイルでレジストリキーの...
-
Returnに対するGoSubがありません
-
VBから参照できないCのDLLを使...
-
PowerShellを使って関連付けら...
-
アクセスのクエリでコンパイル...
-
VB6 Dir関数で52エラー発生
-
FTPの送信結果を検知したい
-
NAS上のファイルの使用中が解除...
-
VBA ExecuteExcel4Macro 型が一...
-
access テキストボックスの値取得
-
EXCELのVBAでWORDが開いてある...
-
すでにファイルが開かれている...
-
EXCELVBAでONEDRIVE上への保管...
-
Excelファイルのマクロによる排...
-
OUTLOOK VBA 指定フォルダ内の...
-
RAR圧縮ファイル(分割)の順番が...
-
エクセルマクロでエラーの原因...
おすすめ情報