xlfCaller
Область применения: Excel 2013 | Office 2013 | Visual Studio
Возвращает сведения о ячейке, диапазоне ячеек, команде в меню, инструменте на панели инструментов или объекте, который вызвал команду или функцию DLL, которая выполняется в данный момент.
Код, вызываемого из | Возвращаемое значение |
---|---|
DLL |
Идентификатор регистрации. |
Одна ячейка |
Ссылка на одну ячейку. |
Формула массива с несколькими ячейками |
Ссылка на несколько ячеек. |
Выражение условного форматирования |
Ссылка на ячейку, к которой применяется условие форматирования. |
Меню |
Массив из четырех элементов с одной строкой: Идентификатор панели. Положение меню. Позиция подменю. Позиция команды. |
Панель инструментов |
Двухэлементный массив с одной строкой: Номер панели инструментов для встроенных панелей инструментов или имя панели инструментов для пользовательских панелей инструментов. Позиция на панели инструментов. |
Графический объект |
Идентификатор объекта (имя объекта). |
Команда, связанная с xlcOnEnter, ON. ВВОД, ловушка событий |
Ссылка на вводимые ячейки или ячейки. |
Команда, связанная с xlcOnDoubleclick, ON. DOUBLECLICK, ловушка событий. | Ячейка, которую дважды щелкнули (не обязательно активная ячейка). |
макрос Auto_Open, автозапуск, Auto_Activate или Auto_Deactivate |
Имя вызывающего листа. |
Другие методы, не перечисленные |
#ССЫЛКА! Ошибка |
Excel12(xlfCaller, (LPXLOPER12) pxRes,0);
Значение свойства и возвращаемое значение
Возвращаемое значение является одним из следующих типов данных XLOPER/ XLOPER12 : xltypeRef, xltypeSRef, xltypeNum, xltypeStr, xltypeErr или xltypeMulti. Так как три из этих типов указывают на выделенную память, возвращаемое значение xlfCaller всегда должно быть освобождено при вызове функции xlFree , когда оно больше не требуется.
Дополнительные сведения о XLOPER/ XLOPER12s см. в разделе Управление памятью в Excel.
Замечания
Эта функция является единственной функцией, не относяющейся к листу, которая может вызываться из функции листа DLL/XLL. Другие информационные функции XLM можно вызывать только из команд или функций, эквивалентных на листе макросов.
Пример
\SAMPLES\EXAMPLE\EXAMPLE.C
. Эта функция вызывает командный макрос (xlcSelect) и будет правильно работать только при вызове из листа макросов.
short WINAPI CallerExample(void)
{
XLOPER12 xRes;
Excel12(xlfCaller, &xRes, 0);
Excel12(xlcSelect, 0, 1, (LPXLOPER12)&xRes);
Excel12(xlFree, 0, 1, (LPXLOPER12)&xRes);
return 1;
}