zoukankan      html  css  js  c++  java
  • Excel Xll开发资料

    下载地址:http://bbs.jjxj.org/forum.php?mod=viewthread&tid=37943&extra=page%3D1&page=1&

    财务应用程序使用Excel加载在发展中的C / C + +,第二版

    史蒂夫多尔顿

    书号: 978-0-470-02797-4

    精装

     584页

     2007年9月

    威利售价: 120美元

    财务应用程序使用Excel加载是在发展中的C / C + +必买任何严重的Excel的developer.Excel书是金融建模行业标准,为用户提供多种方式来扩大自己的加载项功能,包括VBA和C / C + +。这是唯一完整的操作指导,为创造高性能参考书加载项为Excel在C和C + +在金融业的用户。史蒂夫道尔顿介绍了如何运用Excel的加载项,与整个书列举了很多例子财务应用。它还包括相对优势和在VBA与发展的C / C + +加载项为Excel的弱点,并提供所附的CD - ROM的全面代码,工作簿和示范项目。在Excel 2007中的影响力多线程工作簿的计算,并在大型电网补充,正在开发中充分探讨。财务应用程序使用Excel加载在发展中的C / C + +特性:

    *在VBA中,C和C + +广泛的例子代码,解释所有的方法,使开发人员可以实现自己的目标。

    *范例项目,演示,从开始到结束, Excel的强大的潜力时,加载项可以很容易地发展。

    *开发读者的相对优势和在VBA与发展的C / C + +加载项为Excel弱点的认识。

    *一个CD -数千行代码的例子,许多工作簿光盘,和一个完整的示例项目。

    目录

    第二版序言。

    序言第1版。

    鸣谢为第1版。

    鸣谢为第二版。

    一介绍。

      1.1排印,并在这本书中使用的代码约定。

      1.2什么工具和资源来写的加载项。

       1.2.1 VBA宏和加载项。

       1.2.2的C / C + + DLL的加载项。

       1.2.3的C / C + +的DLL ,可以访问C API和XLL加载项。

       1.2.4的C / C + + / C#中。 NET中加载项。

      1.3哪个版本的Excel也适用于这本书?

      1.4 Excel的未来: Excel 2007年( 12版) 。

       1.4.1统计调查的主要工作簿进行更改。

       1.4.2 Excel 2007年不包括在此方面的书。

       1.4.3 Excel 2007文件格式。

       1.4.4之间的兼容性Excel 2007和早期版本。

      1.5关于加载项。

      1.6为什么需要这本书?

      1.7这本书是如何组织的。

      1.8适用范围和局限性。

     2 Excel功能。

      2.1概述Excel的数据组织。

      2.2与无线近距离格A1单元格引用。

      2.3单元格内容。

      2.4工作表数据类型和范围。

      2.5 Excel中输入评价。

      2.6数据类型转换。

       2.6.1一元=运算符。

       2.6.2一元-运算符(否定) 。

       2.6.3数字的二进制算术运算符: + - * / ^ 。

       2.6.4经营者的百分比:% 。

       2.6.5字符串连接运算符:& 。

       2.6.6布尔: =, < , > , < =, > =, < >二元运算符。

       2.6.7转换单单元格引用。

       2.6.8转换多单元格区域的引用。

       2.6.9转换的定义范围名称。

       2.6.10显式类型转换函数:不适用() ,T(下),文本(), ()的值。

       2.6.11工作表函数的参数类型转换。

       2.6.12操作评价之上。

      2.7字符串。

       2.7.1长度的前缀与空结束的字符串。

       2.7.2字节字符串与Unicode字符串。

       2.7.3非托管与管理的字符串。

       2.7.4在Excel中使用摘要字符串类型。

       2.7.5一个字符串类型转换到另一个。

       2.7.6混合长度计数空终止字符串。

      2.8 Excel的术语:主动和电流。

      2.9命令与在Excel的功能。

      2.10工作表函数类型。

       2.10.1功能的目的和返回类型。

       2.10.2数组公式-的Ctrl移输入按键。

       2.9.3必修,可选的参数和可变参数失踪名单。

      2.11复杂的功能和命令。

       2.11.1数据表。

       2.11.2目标寻找和规划求解加载项。

      2.12 Excel中重新计算逻辑。

       2.12.1标志重新计算家属。

       2.12.2触发功能,被称为由Excel -触发参数。

       2.12.3挥发功能。

       2.12.4交叉表的依赖- Excel中97/2000与2002和更高版本。

       2.12.5用户定义函数( VB的宏)和插件功能。

       2.12.6数据表重新计算。

       2.12.7条件格式。

       2.12.8论证评价:如果( )或( )和( ),选择()....

       2.12.9编程控制Excel重新计算。

       2.12.10强制Excel以重新计算工作簿或其他对象。

       2.12.11使用函数名定义。

       2.12.12多线程重新计算。

      2.13加载项管理器。

      2.14装卸加载项。

       2.14.1附加信息。

      2.15粘贴函数对话框。

       2.15.1函数类别。

       2.15.2函数名,参数列表和说明。

       2.13.3论证建设对话框。

      2.16良好的电子表格的设计和实践。

       2.16.1文件名,标题和表的名称,版本和修订历史记录。

       2.16.2幻数。

       2.16.3数据组织和设计指引。

       2.16.4公式重复。

       2.16.5高效查找:匹配(), INDEX()和偏移( )与VLOOKUP会() 。

      2.17具有非常大的电子表格问题。

      2.18结论。

     3 UsingVBA 。

      3.1打开VB编辑器。

      3.2使用VBA来创建新的命令。

       3.2.1记录的VBA宏命令。

      3.3分配的VBA宏命令来控制在一个工作表对象。

      3.4利用VBA陷阱Excel事件。

      3.5使用VBA来创建新的功能。

       3.5.1功能范围。

       3.5.2 VBA函数声明为volatile 。

      3.6以作为对外部DLL的加载项界面的VBA 。

       3.6.1在VB声明DLL函数。

       3.6.2呼叫按引用与调用的值。

       3.6.3转换参数和返回数据之间的VBA和C / C + +类型。

       3.6.4 VBA的数据类型和范围。

       3.6.5 VB中/的OLE货币类型。

       3.6.6 VB中/的OLE的BSTR字符串。

       3.6.7字符串传递到C / C + +函数从VBA 。

       3.6.8字符串返回到VBA从一个DLL。

       3.6.9 Variant数据类型。

       3.6.10变用VBA支持的类型。

       3.6.11变异类型, Excel可以传递给VBA函数。

       3.6.12用户定义的数据类型在VB 。

       3.6.13 VB的对象的数据类型。

       3.6.14调用xlm工作职能,从VBA命令: Application.ExecuteExcel4Macro () 。

       3.6.15调用用户定义的函数和VBA的命令: Application.Run () 。

      3.7 Excel的范围, VB的阵列, SAFEARRAY的,数组变量。

       3.7.1声明VB的阵列,并且通过他们返回到Excel 。

       3.7.2传递数组和范围,以从Excel的VBA到C / C + +。

       3.7.3变量和数组转换从C / C + +类型。

       3.7.4 VB中传递数组和从C / C + +。

      3.8命令与在VBA函数。

      3.9 VB中创建的加载项( xla文件) 。

    与3.10的VBA的C / C + +:一些基本问题。

     4创建一个32位Windows ( Win32 DLL中使用Visual C )+ + 6.0或Visual Studio.NET中。

      4.1 Windows库的基础知识。

      4.2 DLL的基本知识。

      4.3 DLL的内存和多个DLL的实例。

      4.4多线程。

      4.5编译的函数名称。

       4.5.1名称修饰。

       4.5.2外部" C"的声明。

      4.6函数的调用约定: _cdecl , _stdcall , _fastcall 。

      4.7 DLL的导出函数名。

       4.7.1 _declspec ( dllexport )关键字。

       4.7.2定义( *. I50)的文件。

       4.7.3使用连接器预处理器指令。

      4.8你需要开始开发加载在C / C + +程式。

      4.9创建一个DLL使用Visual C + + 6.0。

       4.9.1创建空的DLL项目。

       4.9.2添加代码到项目中。

       4.9.3编译和调试的DLL。

      4.10创建一个DLL使用Visual C + +。 NET 2003中。

       4.10.1创建空的DLL项目。

       4.10.2代码添加到项目中。

       4.10.3编译和调试的DLL。

      4.11从VB访问DLL函数。

      4.12从Excel中访问DLL函数。

    五成XLLs的DLL中谈到:加载项管理器接口。

      5.1 Xlcall32库和C API函数。

      5.2什么是经理在附加怎么办?

       5.2.1加载和卸载安装的加载项。

       5.2.2有效和无效的加载项。

       5.2.3删除的加载项和加载灭活加载项。

      5.3创建一个XLL :该xlAuto接口功能。

      5.4什么时候和以什么顺序做Excel中调用XLL接口功能?

    所谓5.5 XLL函数的加载项管理器和Excel 。

       5.5.1 xlAutoOpen 。

       5.5.2 xlAutoClose 。

       5.5.3 xlAutoAdd 。

       5.5.4 xlAutoRemove 。

       5.5.5 xlAddInManagerInfo ( xlAddInManagerInfo12 ) 。

       5.5.6 xlAutoRegister ( xlAutoRegister12 ) 。

       5.5.7 xlAutoFree ( xlAutoFree12 ) 。

     6 Excel和传递数据的DLL 。

      6.1处理Excel的内部数据结构: C或C + +?

      6.2 Excel如何交流工作表数据的DLL加载功能。

       6.2.1本机的C / C + +数据类型。

       6.2.2 Excel的浮点阵列结构: xl4_array , xl12_array 。

       6.2.3 xloper/xloper12结构。

       6.2.4 xlref/xlref12结构。

       6.2.5 xlmref/xlmref12结构。

       6.2.6 oper/oper12结构。

      6.3定义常数xlopers/xloper12s 。

      6.4为xloper/xloper12一个C + +类包装- cpp_xloper 。

      6.5 xloper/xloper12s间的转换和C / C + +数据类型。

      6.6类型间的转换xloper/xloper12 。

      6.7转换之间xlopers和变种。

      6.8转换之间xlopers和xloper12s 。

      6.9详细讨论xloper类型。

       6.9.1释放xloper内存。

       6.9.2表(浮点)的数量: xltypeNum 。

       6.9.3长度计数字符串: xltypeStr 。

       6.9.4 Excel中布尔: xltypeBool 。

       6.9.5表误差值: xltypeErr 。

       6.9.6 Excel的内部整数: xltypeInt 。

       6.9.7阵列(混合型) : xltypeMulti 。

       6.9.8工作表单元格/范围参考: xltypeRef和xltypeSRef 。

       6.9.9空工作表单元格: xltypeNil 。

       6.9.10二进制工作表名称: xltypeBigData 。

      6.10起始xloper/xloper12s 。

      6.11缺少参数。

     7内存管理。

      7.1 Excel的堆栈空间的限制。

      7.2静态加载在内存和多个Excel实例。

      7.3使用Excel来释放内存由Excel分配。

       7.3.1释放xloper内存在DLL调用。

       7.3.2释放Excel的分配xloper内存由DLL函数返回。

       7.3.3隐藏在一个C + +类xloper内存管理。

      7.4使用Excel中调用该DLL回自由的DLL分配的内存。

      7.5通过修改参数的地方选举中的数据。

      7.6制作外接功能线程安全的。

       7.6.1多线程重新计算(地铁)在Excel 2007( 12版) 。

       7.6.2哪些Excel的内置函数是线程安全的。

       7.6.3分配线程本地内存。

       7.6.4 Excel的调用的排序,以xlAutoFree在多线程系统。

       7.6.5使用线程之间共享内存的关键部分。

     8访问Excel功能使用C API 。

      8.1在Excel 4宏语言(XLM ) 。

       8.1.1命令,工作表函数和宏工作表函数。

       8.1.2命令的可选显示对话-的xlPrompt位。

       8.1.3访问xlm工作职能从工作表使用定义的名称。

      8.2 Excel4 (), Excel12 () C API函数。

       8.2.1介绍。

       8.2.2 Excel4 (), Excel12 ()返回值。

       8.2.3在DLL中调用Excel中使用Excel4 (), Excel12 ( )工作表函数。

       8.2.4调用从DLL使用Excel4 (), Excel12 ()宏工作表函数。

       8.2.5调用从DLL使用Excel4 ()/ Excel12 ()宏工作表命令。

      8.3 Excel4v ()/ Excel12v () C API函数。

      8.4什么的C API函数可以调用该DLL时?

      8.5包装的C的API。

      8.6注册和未注册的DLL( XLL )功能。

       8.6.1 xlfRegister功能。

       8.6.2指定哪一类的功能,应根据上市。

       8.6.3指定参数和返回类型。

       8.6.4给函数宏工作表函数的权限。

       8.3.4指定职能波动。

       8.6.6指定函数作为线程安全的( Excel 2007中使用) 。

       8.6.7通过修改参数返回值的地方。

       8.6.8在粘贴函数对话框(函数向导) 。

       8.6.9函数参数xlfRegister帮助。

       8.6.10 help参数参数xlfRegister 。

       8.6.11管理注册所需的数据导出功能。

       8.6.12使用登记职能,为Excel 2007和早期版本的双接口。

       8.6.13一个基于类的方法来管理登记资料。

       8.6.14获取和使用功能的注册编号。

       8.6.15取消注册DLL函数。

      8.7注册和未注册的DLL( XLL )命令。

       8.7.1访问XLL命令。

       8.7.2打破执行一个XLL命令。

      8.8函数定义的C API只。

       8.8.1释放Excel的分配的内存在DLL : xlFree 。

       8.8.2获取可用堆栈空间: xlStack 。

       8.8.3转换到另一种类型之一xloper/xloper12 : xlCoerce 。

       8.8.4设置单元格的值从命令: xlSet 。

    技巧8.4获取一个命名表的内部ID : xlSheetId 。

       8.8.6获得一个从它的内部ID表名称: xlSheetNm 。

       8.8.7屈服处理器用户休息时间和检查: xlAbort 。

       8.8.8使用Excel的实例句柄: xlGetInst 。

       8.8.9获取处理顶层Excel窗口: xlGetHwnd 。

       8.8.10获取文件的路径和DLL的名称: xlGetName 。

      8.9工作与二进制名称。

       8.9.1的xltypeBigData xloper 。

       8.9.2基本操作与二进制名称。

       8.9.3创建,删除和覆盖二进制名称。

       8.9.4名称检索二进制数据。

       8.9.5示例工作表函数。

      8.10工作区的信息命令和功能。

       8.10.1设置应用程序标题: xlfAppTitle 。

       8.10.2设置文档窗口标题: xlfWindowTitle 。

       8.10.3使用一到活动单元格引用: xlfActiveCell 。

       8.10.4获得一个列出所有打开的Excel文件: xlfDocuments 。

       8.10.5信息单元格或单元格区域: xlfGetCell 。

       8.10.6表或工作簿的信息: xlfGetDocument 。

       8.10.7获取一个单元格公式: xlfGetFormula 。

       8.10.8使用一个细胞的评论: xlfGetNote 。

       8.10.9信息窗口: xlfGetWindow 。

       8.10.10信息有关工作簿: xlfGetWorkbook 。

       8.10.11信息有关的工作区: xlfGetWorkspace 。

       8.10.12信息对选定的范围或对象: xlfSelection 。

       8.10.13使用名称打开Excel窗口: xlfWindows 。

       8.10.14转换范围参考: xlfFormulaConvert 。

       8.10.15将文本转换为一个参考: xlfTextref 。

       8.10.16转换,以案文中提到: xlfReftext 。

       8.10.17信息调用单元格或对象: xlfCaller 。

       8.10.18信息调用函数的类型。

      8.11工作与Excel的名称。

       8.11.1指定表名称和名称的范围。

       8.11.2基本操作与Excel的名称。

       8.11.3定义工作表上的一个名称: xlcDefineName 。

       8.11.4定义和删除该DLL的名称: xlfSetName 。

       8.11.5删除工作表名称: xlcDeleteName 。

       8.11.6获取一个命名范围的定义: xlfGetName 。

       8.11.7获取一个单元格区域定义名称: xlfGetDef 。

       8.11.8获取列表命名范围: xlfNames 。

      8.12工作与Excel菜单。

       8.12.1菜单栏和身分证号码,菜单和命令说明符。

       8.12.2速成(上下文)菜单组。

       8.12.3获取信息的菜单栏: xlfGetBar 。

       8.12.4创建一个新的菜单栏或恢复默认栏: xlfAddBar 。

       8.12.5添加菜单或子菜单: xlfAddMenu 。

       8.12.6添加到菜单命令: xlfAddCommand 。

       8.12.7显示一个自定义菜单栏: xlfShowBar 。

       8.12.8添加/删除一个菜单命令检查标志: xlfCheckCommand 。

       8.12.9启用/禁用自定义命令或菜单: xlfEnableCommand 。

       8.12.10更改菜单命令的名称: xlfRenameCommand 。

       8.12.11删除从菜单命令: xlfDeleteCommand 。

       8.12.12删除自定义菜单: xlfDeleteMenu 。

       8.12.13删除自定义菜单栏: xlfDeleteBar 。

      8.13工作的工具栏。

       8.13.1获取信息的工具栏: xlfGetToolbar 。

       8.13.2获取信息的工具栏上的一个按钮: xlfGetTool 。

       8.13.3创建一个新的工具栏: xlfAddToolbar 。

       8.13.4按钮添加到工具栏: xlcAddTool 。

       8.13.5分配/取消对工具命令: xlcAssignToTool 。

       8.13.6启用/禁用的工具栏上的一个按钮: xlfEnableTool 。

       8.13.7移动/复制工具栏之间的命令: xlcMoveTool 。

       8.13.8显示,作为压: xlfPressTool工具栏按钮。

       8.13.9显示或隐藏工具栏: xlcShowToolbar 。

       8.13.10重置工具栏内置: xlfResetToolbar 。

       8.13.11删除从工具栏的按钮: xlcDeleteTool 。

       8.13.12删除自定义工具栏: xlfDeleteToolbar 。

      8.14工作的自定义对话框。

       8.14.1显示一个警告对话框: xlcAlert 。

       8.14.2显示一个自定义对话框: xlfDialogBox 。

       8.14.3限制用户输入到对话框: xlcDisableInput 。

      8.15事件捕获与C的API。

       8.15.1俘获一个DDE数据更新事件: xlcOnData 。

       8.15.2捕获一个双击事件: xlcOnDoubleclick 。

       8.15.3俘获工作表数据录入事件: xlcOnEntry 。

       8.15.4捕获键盘事件: xlcOnKey 。

       8.15.5俘获重新计算事件: xlcOnRecalc 。

       8.15.6捕获一个窗口选择事件: xlcOnWindow 。

       8.15.7诱捕系统时钟事件: xlcOnTime 。

      8.16杂项命令和功能。

       8.16.1命令执行过程中禁用屏幕更新: xlcEcho 。

       8.16.2显示文字在状态栏: xlcMessage 。

       8.16.3评价单元格的公式: xlfEvaluate 。

       8.16.4调用用户定义函数从一个XLL或DLL : xlUDF 。

       8.16.5调用用户定义的命令从一个XLL或DLL : xlcRun 。

      8.17 XLCallVer () C API函数。

     9杂项专题。

      9.1定时在VBA和C / C + +函数的执行。

      9.2 VBA的,相对性能的C / C + +:试验和成果。

       9.2.1结论测试结果。

      9.3相对性能的C API与VBA的要求从工作表单元格。

      9.4检测时,工作表函数是从Excel对话框调用。

       9.4.1检测时,工作表函数是从粘贴函数对话框(函数向导)调用。

       9.4.2检测时,工作表函数是从搜索和替换对话框调用。

       9.4.3检测时,工作表函数是无论从搜索和替换或粘贴函数对话框调用。

      9.5访问Excel功能使用COM / OLE自动化使用C + +。

       9.5.1起始和未初始化的COM 。

       9.5.2使用Excel进行重新计算工作表使用COM 。

       9.5.3调用用户定义的命令使用COM 。

       9.5.4调用用户定义函数使用COM 。

       9.5.5使用COM调用xlm工作职能。

       9.5.6使用COM调用工作表函数。

      9.6大型数据结构保持在DLL 。

      9.7一个C + + Excel的名称的类的例子, xlName 。

      9.8保持跟踪一个DLL函数调用细胞。

       9.8.1生成一个唯一的名称。

       9.8.2获取的调用细胞内部名称。

       9.8.3命名调用细胞。

       9.8.4内部XLL名家务。

      9.9引用传递到Excel工作表函数。

       9.9.1数据的引用。

       9.9.2函数引用。

      9.10多任务,在DLL多线程和异步调用。

       9.10.1设置定时到DLL命令调用: xlcOnTime 。

       9.10.2启动和停止从一个DLL线程。

       9.10.3调用从DLL创建的线程的C的API。

      9.11管理阶层的背景和战略任务。

       9.11.1要求。

       9.11.2之间的沟通Excel和一个后台线程。

       9.11.3所需的软件组件。

       9.11.4限定工作表上的功能。

       9.11.5筹备工作清单。

       9.11.6创建,删除,暂停,恢复该线程。

       9.11.7任务处理循环。

       9.11.8任务界面和主要功能。

       9.11.9的投票命令。

       9.11.10配置和控制后台线程。

       9.11.11其他可能的后台线程应用程序和策略。

      9.12如何崩溃Excel中。

      9.13附加设计。

       9.13.1分离的核心功能代码界面代码。

       9.13.2控制错误传播。

       9.13.3制作外接行为Excel版本敏感和向后兼容。

       9.13.4版本相关的工作簿重新计算的结果。

      9.14优化。

       9.14.1低级别的代码优化。

       9.14.2 VBA代码优化。

       9.14.3 Excel计算优化。

     10例加载项和财务应用。

      10.1字符串函数。

      10.2统计职能。

       10.2.1伪随机数生成。

       10.2.2从生成正态分布随机样本。

       10.2.3生成相关随机样本。

       10.2.4拟随机数序列。

       10.2.5正态分布。

      10.3矩阵函数-特征值和特征向量。

      10.4插值。

       10.4.1线性插值。

       10.4.2双线性插值。

       10.4.3三次样条。

      10.5查找和搜索功能。

     1060金融市场日期的功能。

      10.7建立和阅读折扣曲线。

      10.8树木和建筑物格。

      10.9蒙特卡罗模拟。

       10.9.1使用Excel和VBA只。

       10.9.2使用Excel和C / C + +只。

       10.9.3使用工作表函数只。

      10.10校准。

      10.11不育系衍生定价。

      10.12 SABR随机波动模型。

      10.13善用衍生工具SABR合作医疗的实施。

    附录1。光盘的内容。

    作者:

    史蒂夫道尔顿是目前主管在GFI的利率在伦敦的选择。史蒂夫已经在玛丽学院,伦敦大学和超过20年的利率衍生工具的经验和IT数学学位。他开创了在套利和衍生工具定价的80年代中期的实时电子表格的使用。他创立于20世纪80年代末,是一家专业的软件和顾问在这一领域和在Excel的要求苛刻的实时应用Eigensys有限公司。

    再加个网站

    Calling into Excel from the DLL or XLL

    http://msdn.microsoft.com/en-us/library/bb687851.aspx

  • 相关阅读:
    How to convert VirtualBox vdi to KVM qcow2
    (OK)(OK) adb -s emulator-5554 shell
    (OK)(OK) using adb with a NAT'ed VM
    (OK) How to access a NAT guest from host with VirtualBox
    (OK) Creating manually one VMs from an existing VDI file in CLI (VBoxManage) in Fedora 23
    (OK)(OK) Creating VMs from an existing VDI file in CLI (VBoxManage) in Fedora 23
    (OK) Creating_VMs_from_an_existing_VDI_file.txt
    (OK) Creating VMs from an existing VDI file —— in OS X
    (OK) install_IBM_SERVER.txt
    (OK) install chrome & busybox in android-x86_64 —— uninstall chrome
  • 原文地址:https://www.cnblogs.com/pengjia89/p/3422501.html
Copyright © 2011-2022 走看看