Application.MacroOptions 和错误 1004

Shi*_*mae 3 excel vba function user-defined-functions

我想CalculateHours(work_hour, rest_hour)在像 Works.xla 这样的插件中注册一个类似于 Excel VBA的函数

我尝试使用Application.MacroOptions注册该功能。以下代码在一个Class文件中,函数在另一个模块文件中。当我们打开 Excel 和 Addin 时,它们会加载。

代码:

Private Function AddFunctions()    
    With MyFunction       
        Application.MacroOptions .Name, _
            .Description, , , , , .Category, , , .HelpFilePath                
    End With    
End Function
Run Code Online (Sandbox Code Playgroud)

期待:

我想在 Excel 函数向导中像其他内置函数一样获得参数帮助、函数描述。使用帮助按钮链接到我的帮助文件。

结果:

Error number: 1004 Application-defined or object-defined error
Run Code Online (Sandbox Code Playgroud)

或者

Method "MacroOptions" of object "_Application" failed
Run Code Online (Sandbox Code Playgroud)

有什么(或一切)错误吗?

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

小智 6

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

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