VBAでフォームのボタンをクリックしたら、このVBAが乗っているExcelと同一フォルダー内のCSVファイルを\192.168.1.39\bfにコピーするというコードです。
VBA
1Private Sub CommandButton3_Click() 2 Dim strDirectory As String 3 strDirectory = "\192.168.1.39\bf" '共有ファイルパス 4 Shell ("net use " & strDirectory & " test /user:test") 'パスワード /ユーザー 5 FileCopy ThisWorkbook.Path & "\abc.csv", "\192.168.1.39\bf\abc.csv" 6 Shell ("net use " & strDirectory & " /delete") 7 End 8End Sub
パスワード付きのファイルサーバのファイル移動などを調べて見本コードを参考に作ってみましたが、FileCopy ThisWorkbook.Path & "\abc.csv", "\192.168.1.39\bf\abc.csv" で下記の画像のエラーが発生します
※IPアドレスは見本です。
FileCopy ThisWorkbook.Path & "\abc.csv", "\192.168.1.39\bf\abc.csv" このコードを単体で、FileCopy ThisWorkbook.Path & "\abc.csv", "C:\Users\Documents\abc.csv"にしてローカルでは動作します。
Excel 2016
win10
フォルダの一覧を表示して、ネットのdfが間違い無く接続しているか、確認されたらどうですか。
Dim strFolder As String
strFolder = Dir("\\192.168.1.39\bf\", vbDirectory)
Do While Len(strFolder) > 0
Debug.Print strFolder
strFolder = Dir()
Loop
net use \\192.168.1.39\bf test /user:test
をコマンドプロンプトから実行した場合、エラー無く終了しますか?
>エラー無く終了しますか?
間違っていたら、当然にエラーでます。
多分、Net Useコマンドが完了する前に、コピー動いていると思います。
この時には、フォルダ一覧も表示されません。
F8でゆっくりとステップさせると、時間差で正常に動いたりもします。
回答欄へ完了までの待合せソースを載せました。
@tosi
tosiさんへではなく 質問者さん(Ti1234565) への問いかけでした。
回答2件
あなたの回答
tips
プレビュー