xlSet
適用対象: Excel 2013 | Office 2013 | Visual Studio
定数値をセルや範囲にすばやく配置します。 詳細については、「 Excel XLL 開発の既知の問題」の「xlSet と配列数式を含むブック」を参照してください。
Excel12(xlSet, LPXLOPER12 pxRes, 2, LPXLOPER12 pxReference, LPXLOPER pxValue);
パラメーター
pxReference (xltypeRef または xltypeSRef)
ターゲット セルを説明する長方形のリファレンスです。
xltypeRef でval.mref.lpmref->count
が 1 に設定されるように、参照は隣接するセルを記述する必要があります。
pxValue
セルに配置される値です。 詳しくは、「解説」セクションをご覧ください。
注釈
pxValue 引数
pxValue には、値または配列のいずれかを指定できます。 値の場合は、指定の範囲全体にその値が入力されます。 配列 (xltypeMulti) の場合は、配列の要素が長方形の対応する場所に配置されます。
2 番目の引数に水平配列を使用する場合、長方形全体が埋まるように配列が下に複製されます。 垂直配列を使用する場合、長方形全体が埋まるように配列が右に複製されます。 長方形の配列を使用する場合、それが配置先の長方形の範囲よりも小さすぎる場合は、その範囲が #N/A で埋められます。
対象範囲がソース配列よりも小さい場合は、対象範囲の境界まで値がコピーされ、余分なデータは無視されます。
指定の長方形の要素を消去する場合は、ソース配列で xltypeNil 型の配列要素を使用します。 指定の長方形全体を消去するには、2 番目の引数を省略します。
制限
xlSet を元に戻すことはできません。 また、以前は使用可能だった、元に戻す操作に関する情報が破棄されます。
xlSet では、セルに定数のみを配置でき、数式は配置できません。
xlSet は、クラス 3 コマンドと同等の関数として動作します。つまり、DLL がオブジェクト、マクロ、メニュー、ツールバー、ショートカット キー、[マクロ] ダイアログ ボックスの [実行] ボタン (Excel 2007 以降ではリボンの [表示] タブ、以前のバージョンでは [ツール] メニューからアクセス可能) から呼び出された場合にのみ DLL で使用できます。
例
次の例では、マクロから渡された値が B205:B206 に入力されます。 このコマンド関数の例には引数が必要であり、Application.Run メソッドを使用して、XLM マクロ シートや VBA モジュールから呼び出される場合にのみ動作します。
\SAMPLES\EXAMPLE\EXAMPLE.C
short WINAPI xlSetExample(short int iVal)
{
XLOPER12 xRef, xValue;
xRef.xltype = xltypeSRef;
xRef.val.sref.count = 1;
xRef.val.sref.ref.rwFirst = 204;
xRef.val.sref.ref.rwLast = 205;
xRef.val.sref.ref.colFirst = 1;
xRef.val.sref.ref.colLast = 1;
xValue.xltype = xltypeInt;
xValue.val.w = iVal;
Excel12(xlSet, 0, 2, (LPXLOPER12)&xRef, (LPXLOPER12)&xValue);
return 1;
}