使用VBA

时间:2018-05-13 00:12:22

标签: windows vba excel-vba security internet-explorer

我正在尝试从第三方创建的内部网网站上抓取一些数据,并根据数据发送电子邮件。我在Excel中使用VBA执行此操作,因为我的计算机已被锁定,并且没有Powershell或任何其他脚本语言。

问题是网站需要使用Windows安全性对话框登录。我搜索了几个小时,没有任何工作。 VBA中的SendKeys不起作用,因为安全框接管并暂停VBA。这几乎奏效了:VBA code to pass username & password

问题是当我安排它(任务调度程序)时,有时密码(用户名已经填充)没有进入安全对话框,而是进入Word或其他任何打开的对话框。我不认为" Windows安全"是窗口的实际名称(虽然这是标题中的内容)。

编辑 - 添加一些代码:

   Set IE = New InternetExplorerMedium
   IE.Visible = True

   CreateObject("WScript.Shell").AppActivate "XYZ.net - Internet Explorer"

   URL = "https://XYZ.aspx"
   IE.Navigate URL
   Do While IE.ReadyState = 4: DoEvents: Loop
   Do Until IE.ReadyState = 4: DoEvents: Loop

   HWNDSrc = IE.HWND

   SetForegroundWindow HWNDSrc
   IE.document.getElementById("overridelink").Click

   Application.Wait (Now + TimeValue("00:00:08"))
   Shell "WScript H:\data\excel\Logon.vbs", vbNormalFocus

0 个答案:

没有答案