![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
ACCESS2013、テーブル1にコピー元ファイルパス、NEWファイル名が入っています(約50レコード)
やりたいこと;
コピー元ファイルパスからコピー先パスへファイル名をNEWファイル名に変えて保存したい。
(下記コードにNEWファイル名をどこに書いたらいいか分かりません)
Private Sub コマンド0_Click()
Dim oFSO As Object
Dim rs As New ADODB.Recordset
Const sToPath As String = "コピー先パス"
Set oFSO = CreateObject("Scripting.FileSystemObject")
rs.Open "テーブル1", CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly
While (Not rs.EOF)
If (Len(Nz(rs("コピー元パス"))) > 0) Then
oFSO.CopyFile rs("コピー元パス"), sToPath
End If
rs.MoveNext
Wend
rs.Close
End Sub
参考URL;https://oshiete.goo.ne.jp/qa/4831478.html
haruru413
No.2ベストアンサー
- 回答日時:
Const sToPath As String = "rs!NEWファイル名"
とすると、
sToPath には「rs!NEWファイル名」という文字列が格納されます。
ループの中に・・・というのはこういうことです。
While (Not rs.EOF)
If (Len(Nz(rs("コピー元パス"))) > 0) Then
sToPath=rs!NEWファイル名
oFSO.CopyFile rs("コピー元パス"), sToPath
End If
rs.MoveNext
Wend
とすると、データベースの該当レコードの NEWファイル名 というフィールドの値が sToPath に格納されます。
このあたりはちゃんと区別できていますか?
ShowMeHow 様
再度ご回答いただきありがとうございます。
>Const sToPath As String = "rs!NEWファイル名"
おかしいことにすぐ気付かないのが初心者ですね。
>ループの中に・
LOOPを使うということではないのですね。
下記で目的が達成されたので活用させていただきます。
(教えていただいたとおりですが。。)
ありがとうございました。
Private Sub コマンド0_Click()
Dim oFSO As Object
Dim rs As New ADODB.Recordset
Dim sToPath As String
'Const sToPath As String = "C:\Users\xxxx\Desktop"
Set oFSO = CreateObject("Scripting.FileSystemObject")
rs.Open "テーブル1", CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly
While (Not rs.EOF)
If (Len(Nz(rs("コピー元パス"))) > 0) Then
sToPath = rs!NEWファイル名
oFSO.CopyFile rs("コピー元パス"), sToPath
End If
rs.MoveNext
Wend
rs.Close
End Sub
No.1
- 回答日時:
もともと(コピー元)のファイル名がわかりませんが、、、
loopの中で、
sToPath = "コピー先パス" & "\" & rs!NEWファイル名
などとするとよいと思います。
ShowMeHow 様
ご回答いただきありがとうございます。
参考URL、https://oshiete.goo.ne.jp/qa/4831478.htmlに習い
コピー元ファイルにはフルパスが入っていたので、
教えて頂いた通りNEWファイル名にコピー先パスを追加してデータを変更しました。
Private Sub コマンド0_Click()
Dim oFSO As Object
Dim rs As New ADODB.Recordset
'Const sToPath As String = "\\C:\XXXX\Desktop\""" & """rs!NEWファイル名"
Const sToPath As String = "rs!NEWファイル名"
Set oFSO = CreateObject("Scripting.FileSystemObject")
rs.Open "テーブル1", CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly
Do While (Not rs.EOF)
If (Len(Nz(rs("コピー元パス"))) > 0) Then
oFSO.CopyFile rs("コピー元パス"), sToPath
End If
rs.MoveNext
Loop
'Wend
rs.Close
End Sub
エラーも出ませんがファイルも保存されないので、もう一度始めからやり直してみます。
ファイル名が変更され保存されるようになりましたら改めて連絡させていただきます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- Android VBA、フォルダのパスに環境文字 ㉑ があり、VBAが機能しません。 2 2022/07/27 09:16
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数のフォルダへ同時にファイ...
-
ひとつのファイルを一括で複数...
-
Windows10 で登録した外字を他...
-
DOSコマンドでファイルをコピー...
-
XCOPYで指定したフォルダとファ...
-
パソコン、ワンドライブをプリ...
-
VBAマクロ 実行時エラーが出た...
-
robocopyでフォルダ自体のコピ...
-
ファイルのコピー正常終了を確...
-
エクセルに添付された画像をフ...
-
VBAでネットワークコンピュータ...
-
ファイル 「送る」と「コピー...
-
DVD-RAMからDVD-Rにコピーする...
-
FastCopyで\\windows等のコピー...
-
ファルダだけコピー
-
SONY VAIO PCG-SRX7のHDD交換に...
-
コピー先フォルダの更新日時を...
-
フォルダの日付を変更せずにコ...
-
ACCESSでエラーになるの...
-
robocopyをbatで動かしたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ひとつのファイルを一括で複数...
-
複数のフォルダへ同時にファイ...
-
DOSコマンドでファイルをコピー...
-
XCOPYで指定したフォルダとファ...
-
Windows10 で登録した外字を他...
-
SDカードをパソコンに落とす...
-
ファイルコピーに時間がかかります
-
VBAマクロ 実行時エラーが出た...
-
パソコン、ワンドライブをプリ...
-
ファイルのコピー正常終了を確...
-
robocopyでフォルダ自体のコピ...
-
ファイル 「送る」と「コピー...
-
OneDriveの容量がいっぱいにな...
-
ROBOCOPYで移行元と先でサイズ...
-
ファイルコピーせずフォルダの...
-
DVD-RAMからDVD-Rにコピーする...
-
エクセルに添付された画像をフ...
-
VBAでネットワークコンピュータ...
-
外付HDDにフォルダーが作れず、...
-
Windows10 正しくファイルコピ...
おすすめ情報