Visual Studio のような開発環境がなく、FTPでデータを取得する必要があったときのこと。


最初にHSP3 を使ってみた。プログラミングは簡単だったのだが、FTPファイルサイズが大きいと途中から転送速度が極端に落ちた。理由は分からないが、これは運用には向かないので断念した。


次にVBAからDOSのFTPをコールしてみた。さすがに歴史があるのか、高速である。しかし、DOS窓を最小化したりすると速度が遅く、やはりこれも実用には耐えなかった。これはDOSのプライオリティを上げればよかったのかもしれないが、客先の設定は触れなかったので止めた。


最後に「VBAによるTCP/IPプログラミング入門」 を入手し、どれが最適かを検討したところ、ActiveX追加などの環境変更を伴わなくて済む、WinInet API を利用した。これは速度、ユーザーからの隠蔽を両立でき、これを使うことにした。



VB.netではフレームワークに通信関数があるため、この本を利用する必要は無いが、その後別件でHTTP、HTTPSのプロトコルでもWinInet API は役に立ったし、VBでも利用できた。