2013-05-28 60 views
1

我有一个.xlam文件,它为excel增加了一些菜单选项。我想为加载项添加帮助,但似乎无法找到一个优雅的解决方案。以下是我尝试的选项:在excel插件中包含帮助

MsgBox: 添加一个下拉菜单,其中每个项目启动一个消息框。这样做效果不好,因为消息框中显示的文本数量有限。我的帮助需要更长的时间,所以它会截断它。

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

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

+0

@chrisneilsen,谢谢你的建议,但是这要求每个用户在他们的机器上必须有'.chm'文件,而不是'.xlam'文件。我正在寻找可嵌入的东西,以便我的外接程序只保留一个文件。 – neelsg

回答

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。我认为这比部署分离的文件更优雅。

2

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

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