e-StatにはExcelとは別にExcel閲覧用 というのがある。 ExcelはファイルなのでWindowsAPIの機能を利用すればVBAでダウンロードできる。 Excel閲覧用のURLはファイルの場所ではないのでダウンロードできない。
Excelがインストールされていなくても閲覧可能らしいけど ? 選択するとブラウザからダウンロードされる。もちろん保護されている。 Excelと変わらないけど、閲覧用は事前にファイル名がわからない。 私にとっては、なにひとつ良いことがない。
商動のRPAも賃金データも、外部ファイルをダウンロードしてローカルで処理している。 ローカルに持ってこないと勝負できない。
Excel閲覧用では、一旦ローカルに配置するところを自動化できない。 Excelがなくてもデータが見れるアプリがあるらしいし、ブラウザでダウンロードできるので、RESTful APIのURLなのだろう。 だけど私がVBAでできることは自動的にブラウザを開いてENTERでダウンロードできるようにするくらい。 ファイル名もわからないので、その後の処理も考えないといけない。
運用で逃げる。
ファイル名は毎回変わらない前提で、手動でダウンロードし保護を解除してから決められたフォルダにファイルを移して実行。
でも
「あきらめたら そこで試合終了です」
PowerQueryならどうなん?
PowerQueryはURLからデータを取得してきてくれる? … RESTful API
探してみたら、
Power Query では、Web.Contents 関数を使用して REST API にアクセスし、JSON や XML 形式のデータを取得できます。
https://qiita.com/spumoni/items/b01e0aef139818ed8c1d
というのを見つけた。
Excel閲覧用というのがRESTで接続できるならPowerQueryでデータを取得できる。 PowerQueryをVBAで制御できれば、他のケースと同様にリンクアドレスを取得するだけでデータ取得の自動実行ができる?
どうでしょう?

