1

我有一个 .xlam 文件,它向 Excel 添加了一些菜单选项。我想为加载项添加帮助,但似乎找不到这样做的优雅解决方案。这是我尝试过的选项:

MsgBox: 添加一个下拉菜单,其中每个项目都会启动一个消息框。这不能很好地工作,因为在消息框中可以显示多少文本是有限制的。我的帮助需要更长的时间,所以它会截断它。

UserForm: 添加用户表单以在锁定的文本框中显示帮助。这允许我用滚动条显示更长的文本,还允许用户复制文本的部分。问题是,因为我的加载项受保护并且我已选中“锁定项目以供查看”,所以每当用户打开此表单并稍后关闭 excel 时,它都会提示输入加载项密码。我已经检查了这个网站和谷歌,似乎没有针对这个问题的可行解决方案。

我的问题是:我可以使用哪些替代方法来显示插件的帮助?

4

2 回答 2

5

我通过在“This_Workbook”中嵌入一个 pdf 文件作为 OLE 对象来完成此操作,并使用 VBA 通过以下 VBA 代码触发其打开:

OLE pdf 被命名为objPDF

Public Function getPdfReference() As OLEObject   
    Set getPdfReference = Worksheets("Plan1").OLEObjects.Item("objPDF")    
End Function

调用文件的模块使用这个函数

Public Sub openPDF()
    Dim obj As OLEObject
    Set obj = This_Workbook.getPdfReference()    
    obj.Activate 'opens the PDF file
End Sub

这样,PDF 在加载项中以隐藏的方式运行,当有人单击帮助按钮时,您可能会调用openPDF()并弹出 PDF。我认为这比部署单独的文件更优雅。

于 2013-07-25T17:02:49.437 回答
2

我使用与 XLAM 位于同一文件夹中的 .chm 文件。
使用 Application.Help 从 VBA 调用

Application.Help ThisWorkbook.Path & "\" & gstrHelpFile, jContextid
于 2013-05-28T10:35:41.117 回答