格納するフォルダを選びたい【VBA】

目次

環境

Windowsの仕様

エディション:Windows 10 Pro

バージョン:20H2

経緯

VBAを使って、ファルダを作成して、そのフォルダの中にExcelファイルを保存するプログラムを作ってみました。

実装したところ、私が書いたプログラムでは作成したフォルダを格納するフォルダのパスを決めていました。使ってみると、格納するフォルダは時々で変わることが判明しました。

なので、今回は格納するフォルダを決めるプログラムを勉強しました。

ダイアログボックス使う

早速ですが、コードを載せます。

Sub ダイアログボックスを使ってフォルダ選択()
 
    Dim SelectFolder As String     
    
    With Application.FileDialog(msoFileDialogFolderPicker)
    
        If .Show = True Then
            
            SelectFolder = .SelectedItems(1)
            
            MsgBox "選択したフォルダは" & SelectFolder & "ですよ。"
        
        End If
    
    End With
    
End Sub

では、コードを説明します。*空白の行数は省略しています。

1行目、マクロの名前です。自分が分かれば、どんな名前でもいいと思います。

2行目、選択したフォルダ名を格納する変数です。

3行目 、ここから、With文がはじまります。”Application.FileDialog(msoFileDialogFolderPicker)”という構文を使ってダイアログボックスを呼びます。

4行目、ダイアログボックスを表示させています。 ここからIF文がはじまります。ダイアログボックスで”OK”を押すと、5行目に進みます。”キャンセル”を押すと7行目に飛びます。

5行目、ファルダ名を取得しています。

6行目 、メッセージボックスにメッセージを表示させています。

7行目 、IF文がおわります。

8行目、With文のおわります。

9行目、マクロがおわります。

次の展開

こんな感じで、ダイアログボックスを使って、格納するフォルダを決めることができました。

私の場合はこのコードのIF文の中身を「フォルダを作って、Excel保存する」というコードに変えています。

まとめ

今回はダイアログボックスを使って、格納するフォルダを決めるプログラムを勉強しました。

私は、「Application.FileDialog(msoFileDialogFolderPicker) 」という構文を使いましたが、()内には今回とは違った引数があるので、それも併せて勉強するものいいかもです。

ここまで読んでいただきありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次