在excel加载项中包含帮助

时间:2013-05-28 07:46:57

标签: excel vba excel-vba add-in

我有一个.xlam文件,可以为excel添加一些菜单选项。我想为加载项添加帮助,但似乎无法找到一个优雅的解决方案。这是我尝试的选项:

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

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

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

2 个答案:

答案 0 :(得分: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。我认为这比部署一个单独的文件更优雅。

答案 1 :(得分:2)

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

Application.Help ThisWorkbook.Path & "\" & gstrHelpFile, jContextid