[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マクロで保存先を選択してフォルダごと保存する方法』(初心者)
初めまして。
あるプログラムで、コマンドボタンをクリックしてバックアップを開始する場合、「名前を付けて保存」メニューを表示して任意で選択した場所に「A」のフォルダを保存したいんですが、どのようにプログラミングすればいいでしょうか。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
Private Sub CommandButton1_Click()
With Application.FileDialog(msoFileDialogSaveAs)
If .Show = True Then
MsgBox .SelectedItems(1)
End If
End With
End Sub
なお、これは保存したいファイル名フルパスを得るまでであり、実際の保存はMsgBoxではなく、ブックのSaveAsを行う必要があります。
(???) 2017/06/12(月) 10:12
Private Sub CommandButton1_Click()
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = True Then
If Dir(.SelectedItems(1) & "\A", vbDirectory) = "" Then
MkDir .SelectedItems(1) & "\A"
End If
ThisWorkbook.SaveAs .SelectedItems(1) & "\A\test.xlsm", xlOpenXMLWorkbookMacroEnabled
End If
End With
End Sub
(???) 2017/06/12(月) 10:34
>任意で選択した場所に「A」のフォルダを保存したいんですが フォルダごとコピーしたい?
初めに保存するフォルダを選択、次に保存先フォルダを選択
Sub test()
Dim myFolders(1) As String, i As Long
For i = 0 To 1
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show Then myFolders(i) = .SelectedItems(1)
End With
Next
If (myFolders(0) = "") + (myFolders(1) = "") Then Exit Sub
CreateObject("Scripting.FileSystemObject").CopyFolder myFolders(0), myFolders(1) & "\"
End Sub
(seiya) 2017/06/12(月) 11:06
さっそく参考にさせていただきます。
(初心者) 2017/06/12(月) 11:08
保存するフォルダ名が 「C:\AAA」の場合は記述はどのようになるんでしょうか。
度々で申し訳ございません。
(初心者) 2017/06/12(月) 14:42
保存するフォルダ名を「C:\AAA」で固定する。ということ?
Sub test()
Dim myFolder As String
Const NewFolder As String = "C:\AAA\"
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show Then myFolder = .SelectedItems(1)
End With
If myFolder = "" Then Exit Sub
CreateObject("Scripting.FileSystemObject").CopyFolder myFolder, NewFolder
End Sub
(seiya) 2017/06/12(月) 14:58
これで完璧です。
ありがとうございました。
(初心者) 2017/06/12(月) 15:10
逆に保存元のフォルダ名が 「C:\AAA」の場合の記述はどのようになるんでしょうか。
(初心者) 2017/06/12(月) 15:57
>保存するフォルダ名が 「C:\AAA」 コピー元フォルダをC:\AAAで固定、という意味でしたか...
Sub test()
Dim NewmyFolder As String
Const myFolder As String = "C:\AAA"
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show Then NewFolder = .SelectedItems(1) & "\"
End With
If myFolder = "" Then Exit Sub
CreateObject("Scripting.FileSystemObject").CopyFolder myFolder, NewFolder
End Sub
(seiya) 2017/06/12(月) 16:18
ありがとうございました。
(初心者) 2017/06/12(月) 16:26
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.