AddTable メソッド

構文

BOOL AddTable(VARIANT& celltext, long nRows, long nColumns, long nTextHeight, long nSpace,
     double xPos, double yPos);

表オブジェクトを追加します。

パラメータ

celltext
表の中の文字列の配列。左上から右下に向かって順に並べます(まず1行目を左から右へ、次に2行目を左から右へ)。
型は VT_VARIANT | VT_ARRAY にしてください。
nRows
行数。
nColumns
桁数。
nTextHeight
文字の高さ。0.1mm単位で指定します(1:100の縮尺で出力したときのサイズ)。
0を指定すると初期値(40 = 4.0mm)を使用します。
nSpace
文字の余白。0.1mm単位で指定します。
0を指定すると初期値(10 = 1.0mm)を使用します。
xPos
表の左上のX座標。
yPos
表の左上のY座標。

戻り値

表オブジェクトを追加できた場合 0 以外を返します。できなかった場合は 0 を返します。

使用例

// C++ sample
// 間取りオブジェクトへ接続
CMadoriDoc * m_MadoriDoc = new CMadoriDoc();
CLSIDFromProgID (L"MyHomeDesignerMadori.MadoriDoc", &clsid);
GetActiveObject (clsid, NULL, &pUnk);
pUnk->QueryInterface (IID_IDispatch, (void**)(&pDisp));
m_MadoriDoc->AttachDispatch (pDisp);

// 表オブジェクトを追加
SAFEARRAYBOUND bound[1];
bound[0].cElements = 12;
bound[0].lLbound = 0;
SAFEARRAY * pArray = SafeArrayCreate(VT_VARIANT, 1, bound);
VARIANT * pVar;
SafeArrayAccessData(pArray, (void**)&pVar);
wchar_t* vCT[12] = {
	L"", L"A", L"B", L"C",
	L"1", L"A1", L"B1", L"C1",
	L"2", L"A2", L"B2", L"C2"
};

for (int i = 0; i < 12; ++i) {
	VARIANT var;
	BSTR bstr = SysAllocString(vCT[i]);
	var.vt = VT_BSTR;
	var.bstrVal = bstr;
	pVar[i] = var;
}
SafeArrayUnaccessData(pArray);
VARIANT v;
v.vt = VT_VARIANT | VT_ARRAY;
v.parray = pArray;
long lRet = m_MadoriDoc->AddTable(v, 3, 4, 0, 0, 2000.0, 1000.0);
SafeArrayDestroy(pArray);
if(!lRet){
	// エラー
	return;
}
// JavaScript sample
var doc = new CMadoriDoc();
var ct = ['', 'A', 'B', 'C', '1', 'A1', 'B1', 'C1', '2', 'A2', 'B2', 'C2']; 
var result = doc.AddTable(ct, 3, 4, 0, 0, 2000.0, 1000.0);
alert(result);