Excel VBA のソケット通信がらみのサンプルを試そうとすると、エラー。オブジェクトが足りない。
バージョンとかの関係でオブジェクトが欠落したか?気を取り直してWinsockをフォームに貼り付けようとすると

サブジェクトは指定された操作に対して信頼されていません

初めて見たぞ。とりあえずgoogleを検索してみると、あら、簡単にヒット
http://www.ka-net.org/office/of13.html

Office 2007/2010の記事だ。私はまだ2003だが、大丈夫か?レジストリをいじらなくてはいけないらしい。たまたまWinSockのCLSIDは上記のリンプページに掲載されていたのでやってみると、エラーは出なくなった。CLSIDはVisual Studio 付属のツールで調べられるらしい。しかし、持っていない人がCLSIDを調べるのは一苦労しそうだ。「初心者備忘録」というには敷居が高いように感じる。


CLSID一覧が掲載されているページ(個人などのページ)

http://hdd.s300.xrea.com/ahk/misc/CLSID.html
http://sites.google.com/site/autohotkeyjp/reference/misc/CLSID
http://www.comrade.co.jp/ftp/fd4/manual/fd400004.htm
http://blog.livedoor.jp/toxy_blog/archives/1301423.html



参考まで、ソケット通信がらみのサンプルは次の書籍のもの。


VBAによるTCP/IPプログラミング入門―HTTP,SMTP,POP3,FTPの基本がわかる.../志村 康人

¥2,520
Amazon.co.jp

これの7章「Winsockコントロールによる応用プログラム」の、7.1に「簡単なHTTPサーバー」というものがあり、コレを試した次第である。確かにExcelでWebサーバーとして動作させることができた。ただし、ブラウザのせいなのか、セキュリティの設定のせいなのか、例えばメモ帳を起動させるようなことはできなかった。
これを参考に、ちょっと面白いものを作ってみようと考えている。
他のトラブルとしては、IISやApacheなどのWebサーバーを稼働させているとエラーになるので、停止させるということくらいか。