我正在使用VSTO加載項。我有一個定製的功能區,並在該功能區上有一個名爲TemplateCallButton
的按鈕。我還有其他幾個功能和按鈕,其中一個只是打開一個帶模板的文件夾(作爲例子)。 TemplateCallButton
僅適用於其他操作已完成的模板文件(看似無關緊要)。在任何其他操作運行後,它按預期工作。Excel VSTO Workbooks.Open只在第一次採取其他操作時才能工作
更令人沮喪的是,這種行爲似乎只發生在我部署的機器上,而不是我正在開發的機器上。這裏是TemplateCallButton
代碼:
Public Class InsightLabProcessor
Dim MainTemplatePath As String = "C:\Insight\Insight.xltm"
....
Private Sub TemplateCallButton_Click(sender As Object, e As RibbonControlEventArgs) Handles TemplateCallButton.Click
Dim objApp As Excel.Application
objApp = Marshal.GetActiveObject("Excel.Application")
objApp.Visible = True
Dim objWorkbook As Excel.Workbook = objApp.Workbooks.Open(MainTemplatePath)
objWorkbook.Worksheets(4).Activate()
End Sub
,這裏是按鈕的代碼只是打開一個文件夾:
Private Sub PhaseCodeFolderOpenButton_Click(sender As Object, e As RibbonControlEventArgs) Handles PhaseCodeFolderOpenButton.Click
Process.Start("explorer.exe", "C:\Insight\Phase Codes")
End Sub
或一個打開的控制形式:
Private Sub ControlPannel_Click(sender As Object, e As RibbonControlEventArgs) Handles ControlPannel.Click
Dim controlpanel As New ControlPanel
controlpanel.Show()
controlpanel = Nothing
End Sub
我覺得我必須錯過簡單的東西。
謝謝。
它甚至開始工作,如果我最小化Excel,然後再回來,或切換窗口和回來。只有當我第一次加載Excel,然後嘗試點擊按鈕,它不會執行任何操作。我錯過了什麼? –
好的,所以我認爲這是我的問題,http://support.microsoft.com/kb/238610但這些解決方法不是很愉快。任何人都知道一個優雅的方式來解決這個問題(希望沒有用戶注意?) –