2013-05-28 59 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