適用対象: Excel 2013 | Office 2013 | Visual StudioApplies to: Excel 2013 | Office 2013 | Visual Studio

xltypeStr 文字列を含む一時的な XLOPER/XLOPER12 を作成するフレームワーク ライブラリ関数。入力として Null で終了するソースの文字列を受け取ります。この関数は、新しいメモリ バッファーを割り当てて、そのバッファーに渡された文字列をコピーします。入力文字列は変更されないため、const として宣言されます。Framework library function that creates a temporary XLOPER/XLOPER12 that contains an xltypeStr string, taking a null-terminated source string as input. The function allocates a new memory buffer and copies the passed-in string into it. The input string is not altered and so is declared as const.

LPXLOPER TempStrConst(const LPSTR str);
LPXLOPER12 TempStr12(const XCHAR* lpstr);



Null で終了するソースの文字列へのポインター。XLOPER の場合、TempStrConst は 255 バイトより長い文字列を切り捨てます。XLOPER12 の場合、TempStr12Const は 32,767 Unicode 文字より長い文字列を切り捨てます。A pointer to the null-terminated source string. In the case of XLOPERs, TempStrConst truncates strings that are longer than 255 bytes. In the case of XLOPER12s, TempStr12Const truncates strings that are longer than 32,767 Unicode characters.

戻り値Return value

渡された文字列バッファーのコピーを格納している xltypeStr 文字列を返します。Returns an xltypeStr string containing a copy of the passed-in string buffer.


XLOPER 文字列のフレームワーク関数 TempStr の動作は異なります。指定された文字列の最初の文字を後続の文字列の長さで上書きしようとするため、注意が必要です。この動作は安全でないことがあり、読み取り専用の文字列を渡すと、Microsoft Excel がクラッシュする可能性があります。この方法による一時的な文字列の作成は、TempStrConstTempStr12 の両方で動作する方法としては推奨されなくなりました。したがって、入力文字列の最初の文字は、文字列の先頭として (つまり、長さを表す文字または長さを表す文字用のスペースとしてではなく) 処理されます。影響が予測できないため、開始時にエンコードされた長さを表す文字のある文字列は渡さないでください。Note that the XLOPER string Framework function, TempStr, behaves differently and tries to overwrite the first character of the supplied string with the subsequent string's length. This is not always a safe thing to do: Microsoft Excel might crash if passed a read-only string. This way of creating temporary strings is now deprecated in favor of the way in which both TempStrConst and TempStr12 work. Therefore the first character of the input string is treated as the start of the string, that is, not as a length character or as a space for a length character. You should not pass strings that have a length character encoded at the start, as the consequences could be unpredictable.


この例では、TempStr12 関数を使用してメッセージ ボックスの文字列を作成します。This example uses the TempStr12 function to create a string for a message box.


short WINAPI TempStrExample(void)
   Excel12f(xlcAlert, 0, 1, TempStr12Const(L"Made it!"));
   return 1;

関連項目See also

フレームワーク ライブラリの関数Functions in the Framework Library