空腹おやじのログと備忘録

VBA(主にExcel)でいろいろな実験的な事とか、Linuxのコマンドとか設定とかについて忘れないように、あれこれと・・・

2019-12-01から1ヶ月間の記事一覧

ExcelのVBAで使えるDLLを、C++(Visual Studio 2017)で作る。・・・その4.3(非配列Variant型変数による配列受け渡し編)

初めに 処理 コード DLL AccessibleFromVBA.h AccessibleFromVBA.cpp AccessibleFromVBA.def VBA 実行結果 DllTestSetArrayV DllTestGetArrayV まとめ 過去掲載分 初めに 前回の予告通り、今回は非配列のVariant型変数に配列を格納して、DLLとの受け渡しをし…

ExcelのVBAで使えるDLLを、C++(Visual Studio 2017)で作る。・・・その4.2(配列編)

初めに SAFEARRAYに関する追加情報 配列要素のデータ型 引数 主な処理と使用する関数 HRESULTを返す関数の成否判定 SAFEARRAYに格納されている要素のデータ型分類値の取得 配列の次元数の取得 配列の1要素のサイズの取得 指定した次元のインデックスの指定…

ExcelのVBAで使えるDLLを、C++(Visual Studio 2017)で作る。・・・その3.2(String型による文字列の受け渡し)

初めに BSTR 構造 メモリ管理 ポインタを介してのデータの書き換え 内部のデータ文字列の状態 ヘッダ 関数 SysAllocStringByteLen SysAllocString SysAllocStringLen SysFreeString SysStringLen SysStringByteLen SysAllocStringとSysAllocStringByteLenの…

【VBA】非配列のVariant型変数に格納した配列のLBoundや要素数を変えてみた

SafeArrayRedim を使うと、 非配列のVariant型変数に格納した配列でも、LBoundとかElementsとかの変更ができる。だまって、 ReDim Preserve v(2 To 4) とかすればいいんだけど・・・ ソース Private Type SAFEARRAYBOUND cElements As Long lLbound As Long …