掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
タイプライブラリを使わずExcelを操作するには? (ID:68290)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
VC++2005,Excel2003の場合 シート名 > CString get_Name() > { > CString result; > InvokeHelper(0x6e, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); > return result; > } CString strName; // MFCの場合 { VARIANT result; VariantInit(&result); AutoWrap(DISPATCH_PROPERTYGET, &result, pXlBook, L"Name", 0); strName = CString(result.bstrVal); } シート数 > long get_Count() > { > long result; > InvokeHelper(0x76, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); > return result; > } long nCount; { VARIANT result; VariantInit(&result); AutoWrap(DISPATCH_PROPERTYGET, &result, pXlSheets, L"Count", 0); // pXlBookよりpXlSheetsを取得 nCount = result.lVal; } アクティブシートの変更→必要性を感じない。。。 任意のシートを取得 > LPDISPATCH get_Item(long Index) > { > LPDISPATCH result; > static BYTE parms[] = VTS_I4 ; > InvokeHelper(0xaa, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, parms, Index); > return result; > } IDispatch *pXlSheet; { VARIANT result; VariantInit(&result); VARIANT Index; Index.vt = VT_I4; Index.lVal = 任意のインデックス AutoWrap(DISPATCH_PROPERTYGET, &result, pXlSheets, L"Item", 1, Index); // pXlBookよりpXlSheetsを取得 pXlSheet = result.pdispVal; }
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.