ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: wqfzqgk

2010VSTO加载项插件

[复制链接]

TA的精华主题

TA的得分主题

发表于 2013-2-9 14:40 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
不知道楼主是否能公开一下代码
或做一个小例子发上来
也想用vb2008开发Excel用的DLL自定义函数
不知道如何下手!

谢谢!

TA的精华主题

TA的得分主题

发表于 2013-2-12 17:32 | 显示全部楼层
自己按照MSDN的方法做了一个
但是很麻烦,不能直接生成加载宏
还是将过程拿出来分享:
  1. '利用VSTO生成Excel自定义函数

  2. '=========================VSTO部分=====================================================================

  3. '创建一个启动宏的Excel工作簿
  4. 'VSTO新建项目--OFFICE--2007--Excel2007工作簿  (或者其他版本)
  5. '复制现有文档--找到你创建的文件
  6.     'VBTO不会修改你创建的文件,而是bin\Debug内用它的副本修改
  7.     '自定义函数只在这个文件中能用,就是你指定的这个Excel工作簿。
  8.     '生成的加载项,可以在其他Excel工作簿内使用。
  9. 'ThisWorkbook.vb属性:
  10. '    EnableVbaCallers=true   (出现提示:确认,这个是指VBA可以使用VSTO的代码)
  11. '    ReferenceAssemblyFromVbaProject=true(自动变化的)
  12. '代码区内添加函数,例如:
  13. '   Public Function AddNumbers(ByVal X As Integer, ByVal Y As Integer) As Integer
  14. '       Return x + y
  15. '   End Function
  16. '运行:会打开你创建的Excel

  17. '=========================Excel部分=====================================================================

  18. 'ThisWorkbook 的代码中会自动出现:
  19. '//定义一个函数,从VSTO项目ExcelWorkbook1的ThisWorkbook.vb中集成而来)
  20. 'Property Get CallVSTOAssembly() As ExcelWorkbook1.ThisWorkbook
  21. '    Set CallVSTOAssembly = GetManagedClass(Me)
  22. 'End Property

  23. '可以将其移植到模块中,写法是将:Me 换成:ThisWorkbook
  24. Property Get CallVSTOAssembly() As ExcelWorkbook1.ThisWorkbook
  25.     Set CallVSTOAssembly = GetManagedClass(ThisWorkbook)
  26. End Property

  27. '定义一个函数,此函数指向,或者部分利用VSTO的自定义函数
  28. Public Function NUMADD(X, Y)
  29.     NUMADD = CallVSTOAssembly.AddNumbers(X, Y) + 1
  30. End Function

  31. '验证一下,这个自定义函数是否能成功调用
  32. 'Sub OPIONA()
  33. '    MsgBox NUMADD(3, 5)
  34. 'End Sub

  35. '其余的和Excel自定义函数就一样了:
  36. '保存为:加载宏
  37. '加载宏和VSTO生成的其他文件要在一个文件夹内

  38. '=========================使用方法=====================================================================

  39. '打开Excel,挂上这个加载宏,就可以在工作表中,或VBA中使用这个自定函数了
  40. ''优点:
  41.     '保护代码有一些优势,
  42.     '可以实现VBA中无法实现的功能
  43. ''缺点:
  44.     '过程有点麻烦,多此一举,
  45.     '需要.net的支持,需要文件多
复制代码

TA的精华主题

TA的得分主题

发表于 2013-5-10 10:32 | 显示全部楼层
这个是怎么做的呢,我也很想学习一下
有没有什么资料可以学习呢

TA的精华主题

TA的得分主题

发表于 2013-5-10 21:21 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2013-5-19 12:56 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2013-5-19 13:45 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2013-8-25 16:24 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2015-8-28 23:27 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2015-9-8 14:37 | 显示全部楼层
看标题误解,原来就是excel插件

TA的精华主题

TA的得分主题

发表于 2015-9-30 07:10 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-21 18:51 , Processed in 0.042992 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表