適用於:Excel 2013 |Office 2013 |Visual Studio
從 DLL、XLL 或程式碼資源內呼叫內部Microsoft Excel 工作表函式、巨集工作表函數或命令,或僅限 XLL 的特殊函式或命令。
所有最新版本的Excel都支援 Excel4v。 從 Excel 2007 開始,支援 Excel12v 。
只有當 Excel 將控制權傳遞至 DLL 或 XLL 時,才能呼叫這些函式。 當 Excel 透過呼叫 Visual Basic for Applications (VBA) 間接傳遞控制權時,也可以呼叫它們。 無法在任何其他時間呼叫它們。 例如,在呼叫 DllMain 函式期間,或在作系統呼叫 DLL 時,或是從 DLL 所建立的線程呼叫時,無法呼叫它們。
Excel4 和 Excel12 函式會接受其自變數做為堆棧上的可變長度清單,而 Excel4v 和 Excel12v 函式則接受其自變數做為數位。 在所有其他方面, Excel4 的行為與 Excel4v 相同,而 Excel12 的行為與 Excel12v 相同。
int _cdecl Excel4v(int iFunction, LPXLOPER pxRes, int iCount, LPXLOPER rgx[]);
int _cdecl Excel12v(int iFunction, LPXLOPER12 pxRes, int iCount, LPXLOPER12 rgx[]);
參數
iFunction (int)
數位,表示您要呼叫的命令、函式或特殊函式。 如需有效 iFunction 值的清單,請參閱下列一節。
pxRes (LPXLOPER 或 LPXLOPER12)
在 Excel4v) 案例中為 XLOPER (的指標,或在 Excel 12v) 案例中XLOPER12 (,以保存已評估函式的結果。
iCount (int)
將傳遞至函式的後續自變數數目。 在 2003 版的 Excel 中,這可以是從 0 到 30 的任何數位。 從 Excel 2007 開始,這可以是 0 到 255 之間的任何數位。
rgx (LPXLOPER [] 或 LPXLOPER12 [])
數位,包含函式的自變數。 陣列中的所有自變數都必須是 XLOPER 或 XLOPER12值的 指標。
傳回值
這些函式會傳回與 Excel4 和 Excel12 相同的值。
註解
當傳遞給運算子的自變數數目是變數時,這些函式會很有用。 例如,當您使用 xlfRegister 註冊函式時,Excel4v 和 Excel12v 很有用,其中總自變數數目取決於所註冊函式所採用的自變數數目。 當您撰寫 Excel4 或 Excel12 的包裝函式時,Excel4v 和 Excel12v 也很有用。 在這些情況下,您需要將變數自變數清單轉換成變數大小的單一陣列自變數,以使用Excel4v或Excel12v將變數自變數清單轉換成變數大小的單一陣列自變數。
範例
如需程式代碼範例,請參閱 Excel 2010 XLL SDK 中 Excel 和 Excel12f 函式的程式碼,位於您安裝 SDK 的下列位置:
Samples\Framewrk\Framewrk.c