VBA

Excel【VBA】

【Excel(64bit) VBA】【Winsock API】ポート番号(u-short型)をVBAで扱う方法とその検証

ポート番号、winsockではu-short(16bit 符号なし整数 0 - 65535)で扱うことになっているが、VBA上では、u-shortが存在しない。 同じサイズのintegerを使うコードをよく見かけるが、どうもその理屈がわから...
EXCEL

【Excel(64bit) VBA】【Winsock API】【UDPクライアント&サーバー】サンプル 最新化

以前作成したUDPクライアント、サーバサンプルを最新化 以前のサンプルでもまだ動くが、ソース量が多く、先人のコピペによる力が大きかったので、全体を見直した。 今回の見直しを通して得た知識は特に以下3つ WSAGetLastErrorでは、エ...
Excel【VBA】

【Excel(64bit) VBA】【Winsock API】recvfrmの第2引数(char* buf)にはVBAからByval string型で渡す必要がある件

3日くらいドはまりした。しかも、あまり納得できていないがそういうものだと思うしかない。そして、調べてみたら、この件について思うことや対応策を考えている人がわずかにいて、安心した。 まず前提(自分の思い込みかもしれないが) VB(VBA)を多...
Excel【VBA】

【VBA】【Excel(64bit)】WinSock  getaddrinfoでホスト名からIPアドレスを調べる

ホスト名からIPアドレスを取得する処理サンプルを作ろうとgethostbynameと悪戦苦闘しているが、いまいちうまくできない。他に何か方法がないか調べていたら、たまたま stackoverflowのサイトを調べていたらgetaddrinf...
Excel【VBA】

【VBA】【Excel(64bit)】WinSock  gethostnameで自身のホスト名を取得する

ホスト名(いわゆるコンピュータ名)を取得するサンプル gethostnameというAPIを使っている。このサンプルではホスト名が文字列で出力される。IPアドレスが取得できるgethostbynameとは違うので注意
Excel【VBA】

【VBA】【Excel(64bit)】WinSockのエラーコードの取得方法まとめ(WSAStartup時は戻り値、WSAStartup成功後はErr.LastDllErrorを使うこと、 VBAではWSAGetLastErrorは使えないぞ!)

C言語系のサンプルコードでは、Winsock関連のエラーコード(詳細)を取得する場合、Microsoftのドキュメント通り、WSAGetLastError()を使うコードが散開している。(一例) これを真似て、VB(VBA)からwinsoc...
Excel【VBA】

【VBA】【Excel(64bit)】WinSockの起動(WSAStartup) と終了(WSACleanup)サンプル

過去のブログで公開してたWinsockを使ったソケット通信プログラムの切り出し。 まずは復讐で、Winsockの起動と終了まで もう十分枯れた技術で、今更Excel VBA でとも思ったが、最近見かけたApplication.timerを利...
Excel【VBA】

【Excel】【VBA】内閣府のHPから祝日情報をダウンロードしてExcel出力

仕事で、祝日を取得する必要があったのでちょっとツールを作成 参照設定 Microsoft XML を参照設定する。 VBAのコード XMLHTTPオブジェクトの機能で、内閣府のHPから祝日情報(CSVファイル)をダウンロードする。 ダウンロ...
Excel【VBA】

【EXCEL】【VBA】Application.OnTimeを利用し指定時間経過後にサブプロセスを実行する例

久々のExcel VBA関連 Application.OnTimeを使うと、指定時間経過後にサブプロセス(SubProc)を実行できる。 また、Mainで Application.OnTime は結果を待つことなく MsgBox処理が行われ...
VBA

OpenObjectメソッドを活用したサンプルコード集