Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Function Application.MacroOptions和错误1004_Function_Excel_User Defined Functions_Vba - Fatal编程技术网

Function Application.MacroOptions和错误1004

Function Application.MacroOptions和错误1004,function,excel,user-defined-functions,vba,Function,Excel,User Defined Functions,Vba,我想在类似Works.xla的加载项中,将一个类似于CalculateHours(work\u hour,rest\u hour)的函数注册到Excel VBA 我尝试使用Application.MacroOptions注册函数。以下代码位于类文件中,函数位于另一个模块文件中。当我们打开Excel和加载项时,它们将加载 代码: Private Function AddFunctions() With MyFunction Application.Ma

我想在类似Works.xla的加载项中,将一个类似于
CalculateHours(work\u hour,rest\u hour)
的函数注册到Excel VBA

我尝试使用
Application.MacroOptions
注册函数。以下代码位于
文件中,函数位于另一个模块文件中。当我们打开Excel和加载项时,它们将加载

代码:

Private Function AddFunctions()    
    With MyFunction       
        Application.MacroOptions .Name, _
            .Description, , , , , .Category, , , .HelpFilePath                
    End With    
End Function
Error number: 1004 Application-defined or object-defined error
期望值:

Private Function AddFunctions()    
    With MyFunction       
        Application.MacroOptions .Name, _
            .Description, , , , , .Category, , , .HelpFilePath                
    End With    
End Function
Error number: 1004 Application-defined or object-defined error
我想在Excel函数向导中获得参数帮助、函数描述以及其他内置函数。使用“帮助”按钮链接到我的帮助文件

结果:

Private Function AddFunctions()    
    With MyFunction       
        Application.MacroOptions .Name, _
            .Description, , , , , .Category, , , .HelpFilePath                
    End With    
End Function
Error number: 1004 Application-defined or object-defined error

有什么(或一切)问题吗


我有10种函数,每次加载加载项时都需要将它们自动添加到Excel函数向导中。

2016年12月7日在一些帖子的建议中拖动我的函数并做了一些其他无意义的事情之后,我发现如果Application.MacroOptions Description:=FuncDesc超过255个字符,就会发生此错误。因此,本质上不要对用户定义函数的描述过于冗长,或者只是添加一个

如果Len(FuncDesc)>255,则 关于运行时错误“1004”的可怕警告消息
如果

我知道这个问题很老,但我会发布我对此错误的解决方案,因为它可能很常见,并且异常消息没有提供信息。
我将一个宏/UDF持有者工作簿名传递到“macro”参数中,如“'workbook.xls(x/m/b)'!macro/UDF_name”:

从Personal.xlsb添加宏 Application.MacroOptions_ 宏:=“'PERSONAL.xlsb'!宏/UDF_名称”_ Description:=“Description”_ ArgumentDescriptions:=ArgumentsDescription()
查看此链接是否有帮助?对于标签,请考虑@ SIDDHARTHORUTE我更改参数调用,错误仍然存在。我关心的不是帮助文件,而是错误:)能否更新当前使用的代码。另外,不要从类模块注册函数,而是尝试从添加的
Workbook\u Open()
事件注册它-In@SiddharthRout值得一试。谢谢你多次帮助我:)哇。即使在我几年前离开这个项目的时候,听到一个解决方案也很好。我不确定这是我的原始问题的情况,所以我不能将其标记为答案。但我要投我的一票。谢谢