非プログラマーでもできる!業務の自動化

【Excel VBA】ファイルパスをセルに出力する方法を解説

当ページのリンクの一部に広告が含まれています。

課題・悩み「フォルダパスを直観的に取得したい」

解決策「ファイル選択ダイアログを表示し、選択したファイルのパスをセルに出力するVBAマクロ」を解説

この記事では

【ファイル選択ダイアログを表示し、選択したファイルのパスをセルに出力するVBAマクロ】を図解で解説しています。

VBAマクロファイルを配布中。

以下のボタンよりダウンロードしてください。

目次

フォルダ選択ダイアログから選んだファイルのパスをシートに出力するVBAマクロのコード

このVBAマクロは、Excelでファイル選択ダイアログを表示し、ユーザーが選択したファイルのパスをExcelの指定されたセル(Sheet1 の C2)に出力するものです。ユーザーがファイルを選択しなかった場合には、警告メッセージを表示します。

Sub SelectFileAndOutputPath()
    Dim filePath As Variant

    ' ファイル選択ダイアログを表示
    filePath = Application.GetOpenFilename("All Files (*.*), *.*", , "ファイルを選択してください")

    ' キャンセルが押されなかった場合
    If filePath <> False Then
        ' 選択したファイルのパスをSheet1のC2に出力
        ThisWorkbook.Sheets("Sheet1").Range("C2").Value = filePath
    Else
        MsgBox "ファイルが選択されませんでした", vbExclamation
    End If
End Sub

処理ごとの解説

変数の宣言

ファイルパスを格納する変数 filePath を宣言します。

Dim filePath As Variant

ファイル選択ダイアログの表示

Application.GetOpenFilename メソッドを使用してファイル選択ダイアログを表示します。

filePath = Application.GetOpenFilename("All Files (*.*), *.*", , "ファイルを選択してください")

選択されたファイルのパスの取得

ユーザーがファイルを選択した場合、そのファイルのパスを取得します。

If filePath <> False Then

ファイルパスの出力

取得したファイルのパスを Sheet1 の C2 に出力します。

ThisWorkbook.Sheets("Sheet1").Range("C2").Value = filePath

キャンセルされた場合の処理

ユーザーがファイル選択をキャンセルした場合、警告メッセージを表示します。

Else MsgBox "ファイルが選択されませんでした", vbExclamation

注意点

1. 処理時間:

データが大量にある場合、処理に時間がかかることがあります。

2. 元に戻せない操作:

VBAマクロで実行した操作は、手動で元に戻さない限り元に戻せません。マクロを実行する前にデータのバックアップを取ることをお勧めします。

3. 信頼済みの場所:

マクロの実行には、ファイルが信頼済みの場所に保存されている必要があります。そうでない場合、セキュリティ設定によってマクロが実行されないことがあります。

必要な環境設定

1. VBAエディタの開き方:

Excelを開き、Alt + F11 キーを押してVBAエディタを開きます。

2. マクロの有効化:

ファイルが信頼済みの場所に保存されているか、Excelのセキュリティ設定でマクロの実行を許可する必要があります。

自分の環境で変更する必要がある箇所の解説

このVBAマクロを自分の環境で使用する際に、変更が必要な箇所は主に以下の点です。

シート名の変更

パスを出力するシート名を自分の環境のシート名に変更します。

ThisWorkbook.Sheets("Sheet1") → ThisWorkbook.Sheets("YourSheetName")

シート名が Sheet1 ではなく他の名前である場合、そのシート名に変更します。

セル参照の変更

パスを出力するセルの位置を自分の環境に合わせて変更します。

Range("C2") → Range("YourCellReference")

パスを出力するセルが C2 以外の場合、そのセル参照に変更します。

まとめ

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

コメント

コメントする

目次