VSTO Excel2010 开发自定义函数问题,求解

Jalan.Wang 2013-04-26 11:09:53
目前用C# VSTO(不是用VB哦) 开发Excel 插件已经使用大半年了,但有一个细节方面至今未解决:
自定义函数 的函数说明及其描述 不知道怎么显示出来。

以下函数定义 都不能显示其 函数说明 及 参数说明,请各位大哥支支招,小弟感激不尽!

/// <summary>
/// 资金来源当期余额
/// </summary>
/// <param name="kjnd">会计年度</param>
/// <param name="qsqj">起始期间</param>
/// <param name="jsqj">结束期间</param>
/// <param name="cxzt">查询状态</param>
/// <param name="lybhs">资金来源编号数组</param>
/// <returns>资金来源当期余额</returns>
[ComVisible(EnableFundsOrigin)]
[DisplayName("资金来源当期余额")]
[Browsable(true)]
[Description("kjnd:会计年度;qsqj:起始期间;jsqj:结束期间;cxzt:查询状态;lybhs:资金来源编号数组;")]
public object LYDQYE([ComAliasName("会计年度")] string kjnd, [ComAliasName("起始期间")] string qsqj, [ComAliasName("结束期间")] string jsqj, [ComAliasName("结束期间")] int cxzt, [ComAliasName("资金来源编号数组")] params object[] lybhs)
{
return null;
}
...全文
1375 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jalan.Wang 2013-09-10
  • 打赏
  • 举报
回复
引用 9 楼 SPRING3000 的回复:
在 EXCEL 中是可以的,但必须是 OFFICE 2010 以上版本。 下面这个代码是用来注册函数的,相关的参数信息我把它做在工作表中 '======================================================== ' 注册函数 '======================================================== Public Sub RegisterFunction() Dim xlRow As Integer, xlCol As Integer Dim cCategory As String Dim cMacro As String ...
感谢您的回复!以此同时,我也是调用了 这个函数Globals.ThisAddIn.Application.MacroOptions,可能是没有正确运用,结果还是没有达到显示 函数说明及参数说明的要求!
SPRING3000 2013-09-09
  • 打赏
  • 举报
回复
在 EXCEL 中是可以的,但必须是 OFFICE 2010 以上版本。
下面这个代码是用来注册函数的,相关的参数信息我把它做在工作表中
'========================================================
' 注册函数
'========================================================
Public Sub RegisterFunction()
Dim xlRow As Integer, xlCol As Integer
Dim cCategory As String
Dim cMacro As String
Dim cDescription As String
Dim cArgDesc() As String, n As Integer

With Description
For xlRow = 2 To 200
cCategory = .Cells(xlRow, 1) '函数所属组名称
cMacro = .Cells(xlRow, 2) '函数名
cDescription = .Cells(xlRow, 3) '函数用途描述
If cMacro = "" Then Exit For

'加载参数说明文本
n = 0
For xlCol = 4 To 12
If .Cells(xlRow, xlCol) = "" Then Exit For
ReDim Preserve cArgDesc(n)
cArgDesc(n) = .Cells(xlRow, xlCol)
n = n + 1
Next
Application.MacroOptions Macro:=cMacro, _
Description:=cDescription, _
Category:=cCategory, _
ArgumentDescriptions:=cArgDesc

Next
End With
End Sub

参数信息表见图片。
以上仅供参考。
wang405 2013-07-19
  • 打赏
  • 举报
回复
函数说明不是在代码中写的。 方法1:调用EXCEL中的 Application.MacroOptions 方法来写 添加函数说明, 可设置函数分类, 不能添加参数说明 方法2: 在模块下VBE中找下自定义函数添加函数描述 添加函数说明, 不能设置函数分类, 不能添加参数说明 具体实例可以参考 详细出处参考:http://www.excelba.com/Art/Html/333.html
Jalan.Wang 2013-07-16
  • 打赏
  • 举报
回复
引用 5 楼 SPRING3000 的回复:
C# 是无法实现这个功能的,有一个俄罗斯人开发的工具可以做EXCEL的载宏函数,用这个工具做出的插件的扩展名为 .XLL, 要实现这个功能,必须使用 C++ 开发。
应该不至于 吧。。。
Jalan.Wang 2013-07-16
  • 打赏
  • 举报
回复
SPRING3000 2013-07-12
  • 打赏
  • 举报
回复
C# 是无法实现这个功能的,有一个俄罗斯人开发的工具可以做EXCEL的载宏函数,用这个工具做出的插件的扩展名为 .XLL, 要实现这个功能,必须使用 C++ 开发。
dsd999 2013-04-27
  • 打赏
  • 举报
回复
自定义函数能正常使用?就是没有说明?
Jalan.Wang 2013-04-27
  • 打赏
  • 举报
回复
莫非又是一个无人回答的帖子???
Jalan.Wang 2013-04-26
  • 打赏
  • 举报
回复
就是图片中的说明

5,139

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧