从VBA打开浏览器,从单元格传递URL
我需要从VBA打开浏览器,其中必须从单元格读取URL。如果我在调用中使用URL作为字符串,它可以正常工作,但是当我尝试从单元格调用URL时,我遇到了一个错误,因为它在前面添加了HTTP 这个有效从VBA打开浏览器,从单元格传递URL,vba,api,Vba,Api,我需要从VBA打开浏览器,其中必须从单元格读取URL。如果我在调用中使用URL作为字符串,它可以正常工作,但是当我尝试从单元格调用URL时,我遇到了一个错误,因为它在前面添加了HTTP 这个有效 Set browser = CreateObject("InternetExplorer.Application") browser.Visible = True browser.Navigate ("https://ITMIXI01AP.ICSITA.NET/InforIntSTS/connect
Set browser = CreateObject("InternetExplorer.Application")
browser.Visible = True
browser.Navigate ("https://ITMIXI01AP.ICSITA.NET/InforIntSTS/connect/authorize?client_id=infor~62hEkBLpdrXINBI5Byh4NVAu9JuZmpO7NyMANis65xU&response_type=code&redirect_uri=http://localhost:3000/redirect.html")
这个没有:
wClientId = ws.Range("C19")
wClientSecret = ws.Range("C20")
wTokenUrl = ws.Range("C21")
wTokenResource = ws.Range("C22")
wRedirecURI = ws.Range("C23")
InforOSURL = Chr(34) + Trim(wTokenUrl) + Trim(wTokenResource) + "?client_id=" + Trim(wClientId) + "&response_type=code&redirect_uri=" +
Trim(wRedirecURI) + Chr(34)
InforOSURL = Trim(InforOSURL)
Set browser = CreateObject("InternetExplorer.Application")
browser.Visible = True
browser.Navigate InforOSURL
另一种方法是使用
ShellExecute()
函数
除了可以打开任何文档外,它还可以使用默认浏览器打开并导航到网页。此外,通过提供动词
,您可以执行诸如打印、编辑等操作
下面的示例有一个静态打开操作
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
Public Sub MyShellExecute(ByVal Path As String)
ShellExecute 0, "Open", Path, "", "", vbNormalNoFocus
End Sub
称之为:
MyShellExecute "www.google.com"
您不需要在开始和结束时使用Chr(34)。如果我删除了要求保存文件的Chr(34),我需要在浏览器中打开url。如果您在browser.Navigate InforOSURL
,那么InforOSURL
变量的值是多少?如果保留Chr(34),IE将尝试打开一个名为“http://%22https[…]的页面.html%22”,因此您需要删除它们,可能还有另一个错误,但我们没有您的数据,无法猜测。