
現在、パワークエリーを設定している集計用ブックを「ツール」というフォルダ内に置いてあります。
「ツール」フォルダ内に、「new」「old」フォルダがあり、
[データの取得]→[ファイルから]→[フォルダから]という操作を2回行い、
「new」「old」それぞれのフォルダ内のファイルを取り込む設定をしています。
それぞれに入れるファイルは、作成日時が違うだけで同じレイアウトのブックになります。
「ツール」「new」「old」フォルダの位置関係は常に変わらず固定ですが、
「ツール」フォルダだけ移動する可能性があります。
別のPCのデスクトップにて開きたかったりするからです。
その都度ソースの変更をしないで済むようにするにはどうすれば良いでしょうか?
例えば、集計用ブックに「設定」シートを用意して、
A2セルに
C:\Users\admin\Desktop\ツール
と記述したパスに更新できれば大変助かるのですが。。。
そのマクロを割り当てたコマンドボタンを設定シートに置いておき、
最初のそのボタンをクリックする運用にすれば便利ですよね。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
その手のフォルダはデスクトップのような場所に置かないのが基本です。
Cドライブ直下にフォルダを作って デスクトップにはショートカットを置
くようにすれば PCを変えてもファイルパスは変わりませんから悩む必要
がなくなります。
「相対参照でファイルパスを取得する方法」がない訳ではありませんが
プライバシー保護にリスクを抱えることになります。
https://memo.furyutei.com/entry/20220119/1642519 …
No.1
- 回答日時:
Sub UpdateFolderPath()
Dim newPath As String
' 新しいツールフォルダのパスを設定
newPath = "C:\Users\admin\Desktop\ツール"
' パワークエリーのクエリを更新
ThisWorkbook.Queries.Add Name:="Query1", Formula:= _
"let" & Chr(13) & "" & Chr(10) & " Source = Folder.Files(""" & newPath & """)," & Chr(13) & "" & Chr(10) & " #" & ...
' ここでクエリの設定を更新
...
"in" & Chr(13) & "" & Chr(10) & " #" & ...
' ここでクエリの設定を更新
...
' ブックを保存
ThisWorkbook.Save
' 更新完了メッセージを表示
MsgBox "フォルダパスが更新されました。"
End Sub
早速、参考ソースを貼っていただいてありがとうございます。
まだ未熟なため、「ここでクエリの設定を更新」の不足箇所を読み解いているところです・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) シート名をフォルダ名に変更 1 2021/12/01 15:59
- Visual Basic(VBA) VBAコード: マクロ有効ブック上のシート1にあるデータ範囲を、別のXLSのシートへ写す 2 2021/10/20 22:48
- Visual Basic(VBA) Excel VBAでフォルダ内の全テキストファイルの任意データを取得について 7 2021/12/18 16:00
- Windows 10 こんなDOSコマンドのbatファイルを作れないでしょうか? 3 2021/10/22 15:56
- Excel(エクセル) EXCEL VBA 所定の日時に ファイル開封もしくはマクロを動けなくしたい 1 2021/11/27 19:11
- Visual Basic(VBA) 【Excel VBA】書き込み先ブックが既に開かれてた場合の処理 3 2021/11/04 16:17
- 画像編集・動画編集・音楽編集 楽譜作成アプリのMusescoreでダウンロードした.sf2 のサウンドフォントを使用するには 1 2021/12/31 19:39
- Visual Basic(VBA) EXCLE VBA シートクリックしたら該当シートコピー 1 2021/11/11 16:37
- Visual Basic(VBA) EXCEL VBA シート比較し〇×判定 1 2021/11/19 11:49
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/24 08:33
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォルダは残してファイルだけ...
-
windows11におけるファイルの並...
-
勝手にフォルダが作成されます...
-
フォルダの中身を指す場合、な...
-
VBA、フォルダのパスに環境文字...
-
空フォルダの検索方法
-
SDカード内にたくさんの文字化...
-
Google ドライブ ってフォルダ...
-
フォルダ内の順番
-
WINXPファイルとは・・・・!!
-
C:\\Logs このフォルダは何で...
-
cドライブのフォルダについて
-
iTunesのbackupファイルが複数...
-
半角スペースのあるフォルダが...
-
フォルダのみを削除してファイ...
-
パーフェクトビューワー SDカ...
-
コマンドプロンプトでの削除
-
USBメモリのパスワードロックの...
-
指定以外のファイルやフォルダ...
-
フォルダやファイルの文字色を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォルダは残してファイルだけ...
-
windows11におけるファイルの並...
-
勝手にフォルダが作成されます...
-
フォルダの中身を指す場合、な...
-
複数フォルダのファイルを1つ...
-
Google ドライブ ってフォルダ...
-
SDカード内にたくさんの文字化...
-
エクセルVBA:毎月名前が変わる...
-
パーフェクトビューワー SDカ...
-
iTunesのbackupファイルが複数...
-
VBA、フォルダのパスに環境文字...
-
C:\\Logs このフォルダは何で...
-
フォルダ内のファイル移動が出...
-
フォルダ内の順番
-
USBメモリーの中のいらないファ...
-
フォルダだけ削除する方法あり...
-
多重に入れ子になっているフォ...
-
ZIPフォルダの中身をCDに焼く
-
cドライブのフォルダについて
-
tempフォルダの異常増殖
おすすめ情報
C:\Users\admin\Desktop\ツール
というパスの明示は不要かも?と思いました。
自身のブックの階層に必ず「new」「old」フォルダが存在する前提なので、
「ThisWorkbook.Path」で自身の位置が特定されますね。
「ツール」である必要はないですね。
ただ、それをソースに書く力が不足してるのでどなたかお助け下さい。