2013-04-09 227 views
1

我在Excel 2007中創建了一個自定義用戶界面作爲xlam加載項的一部分。 自定義選項卡包含一個按鈕,可在單擊時打開網站。excel vba followhyperlink方法當沒有工作簿打開

我用ThisWorkbook.followHyperlink "address"

的加載項密碼保護它導致Excel崩潰每當我點擊按鈕,而在xlam加載項。 當我在.xlsm文件中使用它時,一切正常。

我認爲問題在於ThisWorkbook被密碼保護。我可以使用ActiveWorkbook,但是當沒有工作簿打開時,應用程序會崩潰。

任何建議如何解決這個問題? (解除對文件不是一個選項)

+0

你有任何錯誤處理代碼?如果您根據您的說法從「ThisWorkbook」切換到「ActiveWorkbook」,這將有所幫助。您可以顯示部分代碼以獲取更多信息... – 2013-04-09 05:31:23

+0

這就是UI回調函數中的所有代碼。它只是意味着點擊按鈕時進入網站。 Excel只是崩潰我沒有任何錯誤代碼或任何東西。 – Mr1159pm 2013-04-09 05:44:49

回答

1

包括評論+假設,即當任何activeworkbook是開放這個只需要工作...不是你可以嘗試從Thisworkbook變成Activeworkbook在這樣信息的方式:

Sub FollowingHyperlink() 

    'check if there is anything open 
If Not ActiveWorkbook Is Nothing Then 
    ActiveWorkbook.FollowHyperlink "http://www.stackoverflow.com" 
Else 
    'if not... it depends what you have and what you need 
    'you could just open any new workbook 
    '**This part of code edited** 
    'or use this technique to navigate to page using IE: 
    Dim ieAPP 
    Set ieAPP = CreateObject("InternetExplorer.application") 
    ieAPP.Visible = True 
    ieAPP.navigate "http://www.stackoverflow.com" 
End If 

End Sub 
+0

我決定在else部分打開一個新的工作簿,但我對這個解決方案並不滿意。有沒有辦法打開不需要工作簿對象的網頁?你知道爲什麼它需要工作簿對象嗎? – Mr1159pm 2013-04-10 01:27:34

+0

@ Mr1159pm看到代碼改進了...... – 2013-04-10 06:04:48

+0

謝謝先生!這應該工作! – Mr1159pm 2013-04-11 01:16:44