作りながら学ぶVBAプログラミング

VBA で FTP プログラムを作る

VBA で FTP プログラムで使用するサブルーチンを整えていく



一番肝となるFTPのエンジンですよね?
最近のサーバーとの通信は、パッシブモードで通信しないとデータのやり取りができません。

そんな面倒なプログラムをVBAで作れるのか?
そんな疑問の声が聞こえそうですが、そんな面倒なものを書かなくてWINDOWSには、もともとFTPのプログラムが入っています。

さらに、コマンドラインベースで動くプログラムがあります。
サイトがなくならないことを祈りつつ・・・
http://www.geocities.jp/rich_slipper/soft/soft.html

VBAでパッシブモードのFTPを作る。ファイル送受信は、外部プログラムを使う

VBA でパッシブモードのFTPプログラムを簡単に作るために、コマンドラインで動くFTPプログラムをバッチファイルで起動します。

だっせ~!じゃなくて、問題解決の肝は、「やりたいことを最短で精度高く実現させる」です。

ということで、本来プログラムは高度な技を駆使することが目的ではなく「問題を解決する手段」です。
つきつめれば、その問題を解決することができるならVBAでなくてもかまわない。
ただ、VBAしかわからない、VBAなら少しはわかる人にとって、その問題を解決する手段としてVBAは必須条件になる「だけ」です。

VBAでFTPを作る目的は、自分の仕事にあったファイル転送プログラムを手に入れること。
例えば、中古自動車販売でホームページに最新のデータをアップロードしたい。

エクセルのデータを指定するとエクセルがHTMLファイルを自動生成してくれる。
画像と結びつけるのもエクセル。
最終的にそのデータセットを手動でFTPにアップロード・・・は面倒。
ボタン一つでHTMLを作って画像のセットを作ってくれて、さらにサーバーにまでアップロードしてくれたら。。。
楽じゃないですか?

例えば、何サイトも運営していてそれぞれ別のサーバー。
それらをボタン一つですべてのサイトのデータを一括で受信。
それを更新したら、またボタン一つですべてのサーバーにアップロードしてくれる。

楽じゃないですか?

既存のFTPプログラムだと、1サイトづつ接続してファイルアップロード。
次のサイトに接続して・・・と、人の手が離れる時間がありません。
単なるデータの送信、受信に人が張り付いていないといけません。

それがボタン一つ押して、ランチにでかける。。。楽じゃないですか?

エクセルで送受信先を一覧にしておけば、ファイルの送受信が完了する。
そういう目的をもったFTPプログラムを作ります。

VBA で FTP プログラムを作るまとめ

実際のファイルの送受信は、外部プログラム、もしくはWINDOWSに標準で入っているFTPプログラムをDOSのコマンドラインを呼び出して行うことでエクセルVBAで簡単にFTPプログラムを作ることができます。

さらにわがままな部分は、PERLプログラムを書いて動かします。



  • このエントリーをはてなブックマークに追加

ゆずまる・ゆぅべぇ

システムエンジニア/プログラマ歴数十年のゆずまるです。

バナーにもあるように変体的な犬マニアで生まれてからこのかた犬のいない日は経験していません。
中でもコッカースパニエルとラブラドールが死ぬほど好き!

そんなゆずまるは、20数種類の様々な言語を使用してシステム開発をおこなってきました。

そこで使ってきた各言語の自作ライブラリ中のVBAのライブラリを公開しています。

※姉妹サイトに C,PHP などのサイトもネット上に浮遊させております。そちらでもお役にたてましたら無上の喜びw

あなたの一助になれば幸いです。