1
正如标题所说,我试图最大化使用以下命令创建一个Internet Explorer窗口:如何使用SHDocVw.InternetExplorer命令最大化由VBA创建的IE窗口?
Set ie = New SHDocVw.InternetExplorer
相反的:
Set ie = CreateObject("InternetExplorer.Application")
下面是完整的代码:
Sub wpieautologin()
Dim ie As SHDocVw.InternetExplorer
Dim NOME_EMPRESA, CNPJ, CPF, COD_ACESSO As String
Dim Lookup_Range As Range
Set ie = New SHDocVw.InternetExplorer
ie.Visible = False
ie.Navigate "http://www8.receita.fazenda.gov.br/simplesnacional/controleacesso/autentica.aspx?id=6"
NOME_EMPRESA = Range("B8").Value
Set Lookup_Range = Range("B12:E500")
CNPJ = Application.WorksheetFunction.VLookup(NOME_EMPRESA, Lookup_Range, 2, False)
CPF = Application.WorksheetFunction.VLookup(NOME_EMPRESA, Lookup_Range, 3, False)
COD_ACESSO = Application.WorksheetFunction.VLookup(NOME_EMPRESA, Lookup_Range, 4, False)
Do
Loop Until ie.readystate = 4
Call ie.Document.GetElementByID("ctl00_ContentPlaceHolder_txtCNPJ").SetAttribute("value", CNPJ)
Call ie.Document.GetElementByID("ctl00_ContentPlaceHolder_txtCPFResponsavel").SetAttribute("value", CPF)
Call ie.Document.GetElementByID("ctl00_ContentPlaceHolder_txtCodigoAcesso").SetAttribute("value", COD_ACESSO)
ie.Visible = True
>'What should I write here to maximize my IE Window?
>'Already tried a few solutions, but they works only when the IE is created by the command
>'Set ie = CreateObject("InternetExplorer.Application")
#INSERT COMMAND TO MAXIMIZE WINDOW HERE
End Sub
那么,我该如何做到这一点?
感谢您的答复!当我使用你的代码时,首先它说这个代码必须更新到一个64位版本...所以,而不是'Private Declare Function ShowWindow Lib“user32”_'我必须使用'Private Declare PtrSafe Function ShowWindow Lib“user32” _' ...好的,第一个错误已修复! 因此,修复上述错误后,我得到以下错误:'不兼容的类型',然后调试器标记以下语句:'ShowWindow ie.hwnd'你知道为什么吗? –
在我的结尾没有64位excel,但试试这个链接:http://www.jkp-ads.com/articles/apideclarations.asp。 – cyboashu
@rfw - 将'ByVal hwnd as Long'更改为'ByVal hwnd as LongPtr'。 – Comintern