Power Query - data from current Workbook

zico8

Board Regular
Joined
Jul 13, 2015
Messages
225
Hi,

I have Query that collect data from sheets in the same workbook.
The first line at this moment looks like:

= Excel.Workbook(File.Contents("C:\Documents\my_excel_file.xlsm"), null, true)


How can I change it that it would still work even if I change file location?
 

Excel Facts

What is the shortcut key for Format Selection?
Ctrl+1 (the number one) will open the Format dialog for whatever is selected.
Try this:
- Enter the file path in a cell (include the ending back-slash)
- Name that cell FilePath
- Select that cell and....Power_Query.From_Table/Range

That will open the Power Query Editor
- Remove all steps EXCEPT the Source step
- Right-Click on the file path cell...Select: Drill Down
(That will establish the file path as a text value that can be used elsewhere)

In your query
Replace this:
Code:
= Excel.Workbook(File.Contents("C:\Documents\my_excel_file.xlsm"), null, true)
With this:
Code:
= Excel.Workbook(File.Contents([COLOR=#0000ff]FilePath & "my_excel_file.xlsm"[/COLOR]), null, true)

Now your query will use the FilePath variable as the file location.

Is that something you can work with?
 
Upvote 0
Thanks Ron,

I tried this and get error: "Formula.Firewall: Query 'PQ - Get Data' (step 'Source') references other queries or steps, so it may not directly access a data source. Please rebuild this data combination."
 
Upvote 0
Something's incorrect.

These are my 2 queries:
Query Name: FilePath
Code:
let
    Source = Excel.CurrentWorkbook(){[Name="FilePath"]}[Content],
    Column1 = Source{0}[Column1]
in
    Column1

Query Name: Query1
Code:
let
    Source = Excel.Workbook(File.Contents(FilePath & "my_excel_file.xlsm"), null, true)
in
    Source

Does that help?
 
Upvote 0
It seems like I am doing the same.

I have Query:
Code:
let
    Source = Excel.CurrentWorkbook(){[Name="FilePath"]}[Content],
    Column1 = Source{0}[Column1]
in
    Column1

and the result below is:
C:\Documents\


And my main Query begins:
Code:
let    Source = Excel.Workbook(File.Contents(FilePath & "my_excel_file.xlsm"), null, true),
- then I got that error.


If I manually change for:
Code:
let    Source = Excel.Workbook(File.Contents("[COLOR=#333333]C:\Documents\" [/COLOR]& "my_excel_file.xlsm"), null, true),
- everything works fine
 
Last edited:
Upvote 0
Try changing your privacy settings to None. Query settings are via the Data ribbon, the last option under Get Data.
 
Upvote 0

Forum statistics

Threads
1,214,972
Messages
6,122,530
Members
449,088
Latest member
RandomExceller01

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top