プロが教える店舗&オフィスのセキュリティ対策術

Power Query でCSVをインポートすると、絶対パスで紐づけられます。
本体ブックとCSVファイルを別のフォルダや別のPCに移動すると、
データソース設定で設定し直さないといけません。
同じフォルダ内に本体とCSVがあればリンクが保たれてれば便利だと思うのですが、
似たような解決方法ないでしょうか?

A 回答 (3件)

私は保存場所は 基本設定シートに入力してそれをパラメータに使う


ようにしてます。

セルなら
=LEFT(CELL("filename",A1),FIND("[",CELL("filename",A1))-1)

これでいいわけですし。
    • good
    • 0

>全パスを一気



ThisWorkbook.Queries(1) ← 1つ目のクエリ
ThisWorkbook.Queries(2) ← 2つ目のクエリ
これを有るだけループすればよろしいかと。
    • good
    • 0
この回答へのお礼

その番号にはそういう意味があったんですね。
Sheet(1)と同じ使い方ですね。

勉強になりました。
ありがとうございました。

お礼日時:2022/04/07 13:52

Power Query のソースは絶対パスでなければなりません。



絶対パスを書き換えるコード:
Option Explicit

Sub 絶対パス書換()
    Dim Formulas As Variant, Sources As Variant, fso As Object
    Formulas = Split(ThisWorkbook.Queries(1).Formula, vbCrLf)
    Sources = Split(Formulas(1), """")
    Set fso = CreateObject("Scripting.FileSystemObject")
    Sources(1) = ThisWorkbook.Path & "\" & fso.GetFileName(Sources(1))
    Formulas(1) = Join(Sources, """")
    ThisWorkbook.Queries(1).Formula = Join(Formulas, vbCrLf)
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます。
実行したら絶対パスになりました。
これをBookOpen時イベントに設定すれば、
自動的に開く環境のパスになるって事ですよね、便利です。

クエリが2つ入ってると2つ目は旧パスのままのようでした。
全パスを一気に絶対パスにできるんでしょうか?

お礼日時:2022/04/06 13:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!