Powerqueryを更新したい

こんにちは。いつも勉強させていただいております。

初歩的な質問で申し訳ありません。
表題の通り、Excel2016のパワークエリで外部のExcelからデータを取得して構築したテーブルを単純に更新したいと考えています。

データタブの「すべて更新」を押して更新すればよいと思ったのですが、
単純にホットキーを送信するだけだと、更新が実行した時点でアクティビティが終了してしまうので、テーブルのリフレッシュが待てません。

そこで、代案としてマクロを登録し、ActiveWorkSheet.RefreshAllを実行することを考えたのですが、マクロを登録し、作成したシナリオから実行してみてもどうも空振りしているようで、データの更新が行われていないように見受けられます。

皆様の環境で同様の処理を行われた方がいらっしゃいましたら、どのように実装されたか、
知恵をお貸しいただきたく思います。

よろしくお願いいたします。

リボンの「データ」ー「接続」をクリックすると表示される「ブックの接続」ダイアログで
使用するクエリを選択→「プロパティ」をクリックすると表示される「接続のプロパティ」ダイアログで
「バックグラウンドで更新する」のチェックを外してみても駄目でしょうか?

1 Like

ご回答ありがとうございます。

ご指摘の通りバックグラウンドで更新するのチェックを外してみたところ、
ActiveWorkSheet.RefreshAllのマクロ実行で無事データ更新されました!

後学のためによろしければ伺いたいのですが、バックグラウンドで更新にチェックが入っている場合に
手動でマクロを実行した際はデータ更新されるがUiPathのマクロ実行では空振りになってしまうのは、どのような仕組みによるものなのでしょう・・?

バックグラウンドで更新にチェックが入っている場合の動きですが
マクロ自体は実行できていますが、バックグラウンドで動いた結果の反映が待機状態になっているようで
その反映前にマクロの実行処理が終了してしまう為、空振りのような動きとなっているようです。
※RefreshAllの直後にSleep等で少し待機させておくと、たまに、「この操作を実行すると、まだ実行されて
いないデータの更新が取り消されます。取り消しますか?」とダイアログが表示され、「いいえ」を選択
すると更新結果が反映されます。

ありがとうございます。
なるほど、なんとなくのイメージはできましたので、
その辺り意識して少しいじってみたいと思います。

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.