Excel【VBA】 【Excel(64bit) VBA】【Winsock API】IPアドレス変換(文字列⇔コード値)コードサンプル【inet_addr】【InetNtopW】利用 IPアドレス文字列(例:192.168.10.1)をコード値に変換したり、コード値からIPアドレス文字列に変換するサンプル 2021.02.24 Excel【VBA】TechVBA
Excel【VBA】 【Excel(64bit) VBA】【Winsock API】ポート番号(u-short型)をVBAで扱う方法とその検証 ポート番号、winsockではu-short(16bit 符号なし整数 0 - 65535)で扱うことになっているが、VBA上では、u-shortが存在しない。同じサイズのintegerを使うコードをよく見かけるが、どうもその理屈がわからな... 2021.02.23 Excel【VBA】TechVBA
EXCEL 【Excel(64bit) VBA】【Winsock API】【UDPクライアント&サーバー】サンプル 最新化 以前作成したUDPクライアント、サーバサンプルを最新化以前のサンプルでもまだ動くが、ソース量が多く、先人のコピペによる力が大きかったので、全体を見直した。今回の見直しを通して得た知識は特に以下3つWSAGetLastErrorでは、エラーを... 2021.02.21 EXCELExcel【VBA】Tech
Excel【VBA】 【Excel(64bit) VBA】【Winsock API】recvfrmの第2引数(char* buf)にはVBAからByval string型で渡す必要がある件 3日くらいドはまりした。しかも、あまり納得できていないがそういうものだと思うしかない。そして、調べてみたら、この件について思うことや対応策を考えている人がわずかにいて、安心した。まず前提(自分の思い込みかもしれないが)VB(VBA)を多少か... 2021.02.20 Excel【VBA】TechVBA
Tech MYDNS へのIPアドレス通知方法(通知インターフェース指定パターン) 使えるのはこんなシーンDDNSサービスを継続的に利用するため、MY DNSサービスにIPを通知する。サーバには複数インターフェースがある。(Lan:eth0 無線LAN:wlan0)通知するIPはLAN(eth0)から通知したい。IPV6と... 2021.02.19 TechUbuntu
Tech 【WSL2】【Ubuntsu】C言語のコンパイルはgcc、C++言語のコンパイルはg++は 初歩的なんだろうけど、ものすごく失敗したのでメモソケットプログラムをC言語レベルでも調査するため、WSL2の整備をした。1まずはインストール ちょっとダブっているかも さて、では以下のサンプルコードとしてを作成しいざコンパイルいつものgcc... 2021.02.14 TechUbuntu
Excel【VBA】 【VBA】【Excel(64bit)】WinSock getaddrinfoでホスト名からIPアドレスを調べる ホスト名からIPアドレスを取得する処理サンプルを作ろうとgethostbynameと悪戦苦闘しているが、いまいちうまくできない。他に何か方法がないか調べていたら、たまたま stackoverflowのサイトを調べていたらgetaddrinf... 2021.02.13 Excel【VBA】TechVBA
Excel【VBA】 【VBA】【Excel(64bit)】WinSock gethostnameで自身のホスト名を取得する ホスト名(いわゆるコンピュータ名)を取得するサンプルgethostnameというAPIを使っている。このサンプルではホスト名が文字列で出力される。IPアドレスが取得できるgethostbynameとは違うので注意 2021.02.12 Excel【VBA】TechVBA
Excel【VBA】 【VBA】【Excel(64bit)】WinSockのエラーコードの取得方法まとめ(WSAStartup時は戻り値、WSAStartup成功後はErr.LastDllErrorを使うこと、 VBAではWSAGetLastErrorは使えないぞ!) C言語系のサンプルコードでは、Winsock関連のエラーコード(詳細)を取得する場合、Microsoftのドキュメント通り、WSAGetLastError()を使うコードが散開している。(一例)これを真似て、VB(VBA)からwinsock... 2021.02.11 Excel【VBA】VBA
EXCEL 【EXCEL】【TIPS】INDIRECT関数で別シートのデータを連続で引用する際にAUTOFILLが使える関数 INDIRECTで別シートのデータを連続で引用したい場合、ROW()関数と組み合わせると実現できる。Sheet1のA列の複数行を引用しようとした例=INDIRECT("Sheet1!$A"&ROW()) 2021.02.09 EXCELTech