Indtast adgangskode til Windows Security, mens du automatiserer IE ved hjælp af VBA

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at skrabe nogle data ud af et intranetswebsted, der er oprettet af en tredjepart og sende en e-mail afhængigt af dataene. Det gjorde jeg i Excel med VBA, da min maskine er låst og ikke har Powershell eller noget andet script sprog.


Problemet er, at hjemmesiden kræver et login med en Windows Security dialogboks. Jeg har søgt efter timer, og intet virker. SendKeys i VBA virker ikke, da sikkerhedsboksen overtager og stopper VBA. Dette fungerede næsten: VBA kode for at passere brugernavn og adgangskode.


Problemet er, når jeg planlagde det (task scheduler), nogle gange er adgangskoden (brugernavn allerede befolket) ikke gået ind i sikkerhedsdialogen, og det kommer til Word, eller hvad der er åbent. Jeg tror ikke 'Windows Security' er det faktiske navn på vinduet (selvom det er det der er i titlen).


Rediger - Tilføjelse af nogle af koden:


   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:dataexcelLogon.vbs", vbNormalFocus

Bedste reference