[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マクロで保存先を選択してフォルダごと保存する方法』(初心者)
初めまして。
あるプログラムで、コマンドボタンをクリックしてバックアップを開始する場合、「名前を付けて保存」メニューを表示して任意で選択した場所に「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.