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;
}

См. также

Необходимые и полезные функции XLM из API C