重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

msoFileDialogFilePicker を使って、選択したファイルをフォルダにコピーしたいです。

Public Sub コマンド10_Click()

Dim strFiles As String
Dim i As Integer

With Application.FileDialog(msoFileDialogFilePicker)
'ファイルの複数選択を可能にする
.AllowMultiSelect = True
'ファイルフィルタのクリア
.Filters.Clear
'ファイルフィルタの追加
.Filters.Add "画像", "*.jpg; *.bmp; *.png*"
'初期表示フォルダの設定
.InitialFileName = "D:\・・・・"

If .Show = -1 Then 'ファイルダイアログ表示
' [ OK ] ボタンが押された場合
For i = 1 To .SelectedItems.Count
strFiles = strFiles & vbLf & .SelectedItems(i)
Next i
テキスト11.Value = strFiles
Else
' [ キャンセル ] ボタンが押された場合
MsgBox "ファイル選択がキャンセルされました。", vbExclamation
End If
End With
End Sub

上のコマンドでファイルを選択し、テキスト11というテキストボックスに出力します。

Private Sub コマンド13_Click()
If MsgBox("ファイルをコピーしますか?", vbYesNo) = vbYes Then
Dim FSO As Object
Dim pass As String
pass = テキスト11.Value

Set FSO = CreateObject("Scripting.FileSystemObject")
''D:\Test\フォルダにコピー
FSO.CopyFile "pass", "D:\Test\"
Set FSO = Nothing
End If
End Sub

上のコマンドでテキスト11に出力したパスのファイルをD:\Test\にコピーしたい、、、のですが「 FSO.CopyFile "pass", "D:\Test\"」のところでファイルが見つかりませんとのエラーが出てしまいます。。。どこが問題なのでしょうか??
また、msoFileDialogFilePickerで複数選択したときはどうやってコピーすればいいのでしょうか??

初心者でまだまだ理解が足りていないんだと思います、、、どなたかご教授お願いします。

A 回答 (1件)

passというファイルをコピーしようとしています。



× FSO.CopyFile "pass", "D:\Test\"
○ FSO.CopyFile pass, "D:\Test\"


複数選択は、下記URLの
「『ファイルを選択する』(msoFileDialogFilePicker)使用例」
のプログラムが参考になるのではと思います。
.SelectedItems(i)でファイル名を取り出していますね。

http://www.239-programing.com/excel-vba/func/fun …
    • good
    • 0
この回答へのお礼

ありがとうございます!大変参考になりました!

お礼日時:2015/11/13 21:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!