【XLL API 函数】xlfUnregister (Form 1)
此函数可以被 Excel 已经载入的 XLL 或 DLL 调用。它等效于宏表函数 UNREGISTER。
xlfUnregister 有两种调用形式:
- 形式1:Unregister 单独的命令或函数
- 形式2:卸载 和 去激活 XLL
之前使用 xlfRegister 或 REGISTER 函数时,会进函数调用次数进行计数,使用此函数可以减少计数。如果计数器已经为0,调用这个函数将不会产生任何效果。当使用DLL中所有的函数调用计数器都为0,DLL 将会从内存中卸载。
xlfRegister (Form 1) 还定义了一个隐藏的名字做为函数的文本参数,pxFunctionText,此参数会评估函数的或命令的注册ID。当反注册函数,此名称将使用 xlfSetName 删除。因此函数名称不会再次在 Function Wizard 中显示出来。
Excel4(xlfUnregister, LPXLOPER pxRes, 1, LPXLOPER pxRegisterId);
参数
pxRegisterId(xltypeNum)
这表示在反注册的函数注册ID
属性值和返回值
如果成功,返回 TRUE (xltypeBool),反之返回 FALSE
备注
函数注册ID由 xlfRegister 第函数第一次注册时返回。它也可以通过调用 xlfRegisterId 或 xlfEvaluate 函数返回。注意,如果函数没有注册的话,使用 xlfRegisterId 会将函数进行注册。正是由于这个原因,如果你只是想获取ID的而不注册函数的话,最好是将函数名作为 xlfEvaluate 参数进行处理。
实例
查看 \SAMPLES\GENERIC\GENERIC.C.
中的 fExit 函数
[C++]
int WINAPI fExit(void)
{
XLOPER12 xDLL, // The name of this DLL //
xFunc, // The name of the function //
xRegId; // The registration ID //
int i;
//
// This code gets the DLL name. It then uses this along with information
// from g_rgFuncs[] to obtain a REGISTER.ID() for each function. The
// register ID is then used to unregister each function. Then the code
// frees the DLL name and calls xlAutoClose.
//
// Make xFunc a string //
xFunc.xltype = xltypeStr;
Excel12f(xlGetName, &xDLL, 0);
for (i = 0; i < g_rgWorksheetFuncsRows; i++)
{
xFunc.val.str = (LPWSTR) (g_rgWorksheetFuncs[i][0]);
Excel12f(xlfRegisterId,&xRegId,2,(LPXLOPER12)&xDLL,(LPXLOPER12)&xFunc);
Excel12f(xlfUnregister, 0, 1, (LPXLOPER12) &xRegId);
}
for (i = 0; i < g_rgCommandFuncsRows; i++)
{
xFunc.val.str = (LPWSTR) (g_rgCommandFuncs[i][0]);
Excel12f(xlfRegisterId,&xRegId,2,(LPXLOPER12)&xDLL,(LPXLOPER12)&xFunc);
Excel12f(xlfUnregister, 0, 1, (LPXLOPER12) &xRegId);
}
Excel12f(xlFree, 0, 1, (LPXLOPER12) &xDLL);
return xlAutoClose();
}
【XLL API 函数】xlfUnregister (Form 1)的更多相关文章
- 【XLL API 函数】xlfUnregister (Form 2)
此函数可以被 Excel 已经载入的 XLL 或 DLL 调用.它等效于宏表函数 UNREGISTER. xlfUnregister 有两种调用形式: 形式1:Unregister 单独的命令或函数 ...
- 【XLL API 函数】xlAbort
C API 中有 15个 Excel 回调函数只能使用 Excel4.Excel4v.Excel12.Excel12v 函数调用(或间接的使用框架函数 Excel 或 Excel12f 调用).也就是 ...
- 【XLL API 函数】xlGetHwnd
返回顶层的 Excel 窗口句柄. Excel4(xlGetHwnd, LPXLOPER pxRes, 0); /* returns low part only */ Excel12(xlGetHwn ...
- 【XLL API 函数】xlUDF
调用用户定义函数,这个函数允许DLL 调用 VBA 中的用户定义函数,XLM 宏语言函数,以及在其它 add-ins 中注册的函数. 原型 Excel12(xlUDF, LPXLOPER12 pxRe ...
- 【XLL API 函数】xlStack
查看堆栈区还剩余多少空间 原型 Excel12(xlStack, LPXLOPER12 pxRes, 0); 参数 此函数没有带任何参数 属性值/返回值 返回堆栈区还剩余的字节数 备注 返回最新版本的 ...
- 【XLL API 函数】xlSheetNm
从外部引用包含的工作表ID返回工作表或宏表名称,或是当前表名称. 原型 Excel12(xlSheetNm, LPXLOPER12 pxRes, 1, LPXLOPER12 pxExtref); 参数 ...
- 【XLL API 函数】xlSheetId
查找命名的工作表ID,用于外部引用. 原型 Excel12(xlSheetId, LPXLOPER12 pxRes, 1, LPXLOPER12 pxSheetName); 参数 pxSheetNam ...
- 【XLL API 函数】xlGetName
以字符串格式返回 DLL 文件的长文件名. 原型 Excel12(xlGetName, LPXLOPER12 pxRes, 0); 参数 这个函数没有参数 属性值和返回值 返回文件名和路径 实例 \S ...
- 【XLL API 函数】 xlGetInst
返回正在调用 DLL 的 Excel 实例的实例句柄. 原型 Excel4(xlGetInst, LPXLOPER pxRes, 0); /* returns low part only */ Exc ...
随机推荐
- R语言 推荐算法 recommenderlab包
recommend li_volleyball 2016年3月20日 library(recommenderlab) library(ggplot2) # data(MovieLense) dim(M ...
- PHP基础之 继承(一)
========================================= * 继承 extends *============================ ...
- expert C Programing notes
1.寻常算术转换 在运算中 如果其中一个操作数是long double 则另一个转为long double,其次 如果有一个为double 则另一个转为double,再次 float . unsign ...
- HDU1102--最小生成树
Constructing Roads Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- BZOJ4612——[Wf2016]Forever Young
1.题意:将一个数y转化成b进制数,使得他>=l,且<y,且转化后均为0~9,使b最大. 2.分析:我们发现要么答案的b很小,要么y很小..那我们直接暴力枚举就好了啊 然后判断一下...另 ...
- leetcode 33. Search in Rotated Sorted Array
Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 migh ...
- linux 下恢复后台程序的方法
一直以为这个东西不怎么重要,所以一直没怎么去记,已经第三次百度了,不想再有第四次. 如果你在终端下运行一个程序,如果这个程序正在运行,我们可以用 ctrl + z 的命令将这个程序挂到后台. desk ...
- 14 BasicHashTable基本哈希表类(一)——Live555源码阅读(一)基本组件类
这是Live555源码阅读的第一部分,包括了时间类,延时队列类,处理程序描述类,哈希表类这四个大类. 本文由乌合之众 lym瞎编,欢迎转载 http://www.cnblogs.com/oloroso ...
- java78_c
import java.util.*; public class Main { public static void main(String args[]){ Scanner cin=new Scan ...
- mysql 同步
http://dev.mysql.com/doc/refman/5.5/en/replication-howto.html http://blog.csdn.net/mycwq/article/det ...