【連載】#27 Access VBA の関数ライブラリを使いネットワークからCSVファイルをダウンロードしよう

【連載】#27 Access VBA の関数ライブラリを使いネットワークからCSVファイルをダウンロードしよう

 

 

【連載】#26 リファクタリング後のフォルダ構成とバッチファイル を確認しよう

 

本記事では しらかば堂の Access VBA 関数ライブラリ DownloadCsvFromUrl  を使ってインターネット上に公開されているCSVファイルをワンクリックで利用者のPCのダウンロードフォルダヘダウンロードする方法を紹介します。

【連載】#27 Access VBA の関数ライブラリを使いネットワークからCSVファイルをダウンロードしよう
しらかば堂

いつも記事を読んで頂きありがとうございます~
今日の調子はいかがですか?

Access VBA で ネットワークからCSVファイルをダウンロードしよう

記事#25

【連載】#25 バッチファイル や Access ツールをリファクタリングしよう

では ここまでに作成してきたバッチファイル、 Access ツールの課題を抽出し、リファクタリングしていく考え方をご紹介しました。

今回の記事ではこの 記事#25 の中のリファクタリングの方針の16番目に記載された

 

Microsoft Edge を使用して実行していたインターネットからの
130001_tokyo_covid19_patients.csv
のダウンロード処理をしらかば堂のライブラリの中に準備されている関数 DownloadCsvFromUrl による直接ダウンロード方式に変更する

という方針を実装した
入手_130001_tokyo_covid19_patients_csv.accdb
というツールの作成方法について具体的にご紹介していきます。

このしらかば堂のライブラリ関数 DownloadCsvFromUrl はターゲットの CSV  を URL で指定するだけで そのCSV ファイルを利用者のダウンロードフォルダ %USERPROFILE%\Downloads にそのままダウンロードできるので

この機能を利用して
東京都_新型コロナウイルス陽性患者発表詳細 に掲載された
URL: https://www.opendata.metro.tokyo.lg.jp/fukushihoken/130001_tokyo_covid19_patients_2020.csv

をダウンロードしようというわけです。

DownloadCsvFromUrl の組み込み方法

VBA 実装部分

この関数を Access  に組み込むためには Access を 空のデータベースで立ち上げ

【連載】#27 Access VBA の関数ライブラリを使いネットワークからCSVファイルをダウンロードしよう
【連載】#27 Access VBA の関数ライブラリを使いネットワークからCSVファイルをダウンロードしよう

続いて テーブル1 を データーシートビューのタブの右にある × をクリックして削除したあと

【連載】#27 Access VBA の関数ライブラリを使いネットワークからCSVファイルをダウンロードしよう

リボンメニューの

データベースツール > Visual Basic

を順にクリックして VBE(Visual Basic Editor) を起動し

【連載】#27 Access VBA の関数ライブラリを使いネットワークからCSVファイルをダウンロードしよう

VBE のメニューから
挿入(I) > 標準モジュール(M)

を順にクリックして標準モジュールを挿入し

【連載】#27 Access VBA の関数ライブラリを使いネットワークからCSVファイルをダウンロードしよう

現れたコードウインドウに

【Access VBA】URL で指定された CSV ファイルをダウンロードする

から VBAコードをコピーし、VBEのコードウインドウにペーストし、さらに参照設定で EnjoyTech にチェックをしてVBEを閉じます。

【連載】#27 Access VBA の関数ライブラリを使いネットワークからCSVファイルをダウンロードしよう

マクロ 実装部分

そしてこの  DownloadCsvFromUrl  を呼び出すための autoexec マクロをマクロビルダ画面を使って

【連載】#27 Access VBA の関数ライブラリを使いネットワークからCSVファイルをダウンロードしよう

つまり次のように記述します。


If DownloadCsvFromUrl("https://www.opendata.metro.tokyo.lg.jp/fukushihoken/130001_tokyo_covid19_patients_2020.csv")>0
If文の最後

Accessの終了

この autoexec マクロが  DownloadCsvFromUrl   を呼び出すためのパラメータは以下のようになっていますね。

パラメータ番号 記述されたパラメータ値 説明
1 “https://www.opendata.metro.tokyo.lg.jp/fukushihoken/130001_tokyo_covid19_patients_2020.csv”

インターネット上からダウンロードしたいCSVファイルのURLを指定しています。

 

そして autoexec マクロの編集が終わったらマクロビルダ画面 を閉じ、この Access ファイルを

%USERPROFILE%\Tools\accdb

配下に

入手_130001_tokyo_covid19_patients_csv.accdb

という名前で保存します。

この %USERPROFILE% は Windows であらかじめ定義されている環境変数で Windows PCを使っている利用者のデフォルトのフォルダパスを表しています。この環境変数については必要に応じて以下の記事を参照下さい。

【Windows業務効率化】バッチファイルの基本テクニックを知ろう

 

ファイル出力先

この autoexec マクロを実行すると DownloadCsvFromUrl  関数が実行され

%USERPROFILE%\Download

配下に

130001_tokyo_covid19_patients.csv

がダウンロードされます。

この動作状況については必要に応じて 記事#25 の中の動画で確認してくださいね。

 

まとめ

いかがでしたか?

本記事では しらかば堂の Access VBA 関数ライブラリ DownloadCsvFromUrl を利用して 東京都_新型コロナウイルス陽性患者発表詳細 に掲載された
URL: https://www.opendata.metro.tokyo.lg.jp/fukushihoken/130001_tokyo_covid19_patients_2020.csv

をダウンロードフォルダ %USERPROFILE%\Downloads へ直接ダウンロードする方法を紹介しました。

      さてこの記事全体の目標は

      •  今の状況から抜け出してもっと前向きな仕事に取り組みたい
      • さっさと仕事を切り上げて充実したアフターファイブを過ごしたい

      でしたよね。

      あなたの解決したい問題は何ですか?
      次回はまた 

      【連載】#28 Access VBA の関数ライブラリを使いCSVファイルをインポートしよう

      Access VBA の新しい窓を開きましょう。


      Microsoft Access 関連教材は次のリンクからどうぞ。

      Access VBA 関連教材の紹介