EXCEL 【Excel(64bit) VBA】【Winsock API】【UDPクライアント&サーバー】Application.OnTimeによるマルチプロセス対応 Application.OnTime を使ったマルチプロセスの記事をみて、ぜひWinsockに適用し一番やってみたかったチャレンジとりあえず成功したので、コードのメモ何が驚くかというと、・現在作業中のシートから、受信事象待ち専用のプロセス(... 2021.02.26 EXCELVBA資料
EXCEL 【Excel(64bit) VBA】【Winsock API】IPアドレス変換(文字列⇔コード値)コードサンプル【inet_addr】【InetNtopW】利用 IPアドレス文字列(例:192.168.10.1)をコード値に変換したり、コード値からIPアドレス文字列に変換するサンプル 2021.02.24 EXCELVBA
EXCEL 【Excel(64bit) VBA】【Winsock API】ポート番号(u-short型)をVBAで扱う方法とその検証 ポート番号、winsockではu-short(16bit 符号なし整数 0 - 65535)で扱うことになっているが、VBA上では、u-shortが存在しない。同じサイズのintegerを使うコードをよく見かけるが、どうもその理屈がわからな... 2021.02.23 EXCELVBA
EXCEL 【Excel(64bit) VBA】【Winsock API】【UDPクライアント&サーバー】サンプル 最新化 以前作成したUDPクライアント、サーバサンプルを最新化以前のサンプルでもまだ動くが、ソース量が多く、先人のコピペによる力が大きかったので、全体を見直した。今回の見直しを通して得た知識は特に以下3つWSAGetLastErrorでは、エラーを... 2021.02.21 EXCELVBA
EXCEL 【Excel(64bit) VBA】【Winsock API】recvfrmの第2引数(char* buf)にはVBAからByval string型で渡す必要がある件 3日くらいドはまりした。しかも、あまり納得できていないがそういうものだと思うしかない。そして、調べてみたら、この件について思うことや対応策を考えている人がわずかにいて、安心した。まず前提(自分の思い込みかもしれないが)VB(VBA)を多少か... 2021.02.20 EXCELExcel [VBA]VBA
HTML MYDNS へのIPアドレス通知方法(通知インターフェース指定パターン) 使えるのはこんなシーンDDNSサービスを継続的に利用するため、MY DNSサービスにIPを通知する。サーバには複数インターフェースがある。(Lan:eth0 無線LAN:wlan0)通知するIPはLAN(eth0)から通知したい。IPV6と... 2021.02.19 HTMLPython
EXCEL 【VBA】【Excel(64bit)】WinSock getaddrinfoでホスト名からIPアドレスを調べる ホスト名からIPアドレスを取得する処理サンプルを作ろうとgethostbynameと悪戦苦闘しているが、いまいちうまくできない。他に何か方法がないか調べていたら、たまたま stackoverflowのサイトを調べていたらgetaddrinf... 2021.02.13 EXCELVBA
EXCEL 【VBA】【Excel(64bit)】WinSock gethostnameで自身のホスト名を取得する Option ExplicitPublic Const SOCKET_ERROR As Long = -1Private Const WSADESCRIPTION_LEN As Integer = 256Private Const WSAS... 2021.02.12 EXCELVBA
EXCEL 【VBA】【Excel(64bit)】WinSockのエラーコードの取得方法まとめ(WSAStartup時は戻り値、WSAStartup成功後はErr.LastDllErrorを使うこと、 VBAではWSAGetLastErrorは使えないぞ!) C言語系のサンプルコードでは、Winsock関連のエラーコード(詳細)を取得する場合、Microsoftのドキュメント通り、WSAGetLastError()を使うコードが散開している。(一例)if(SOCKET_ERROR==(RecvS... 2021.02.11 EXCELExcel [VBA]VBA
EXCEL 【EXCEL】【TIPS】INDIRECT関数で別シートのデータを連続で引用する際にAUTOFILLが使える関数 INDIRECTで別シートのデータを連続で引用したい場合、ROW()関数と組み合わせると実現できる。Sheet1のA列の複数行を引用しようとした例=INDIRECT("Sheet1!$A"&ROW()) 2021.02.09 EXCEL