2013-04-09 231 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

相关问题