Ciao
devi avere una conoscenza robusta sia di excel che degli elementi HTML.
Per iniziare (quindi fare il login al tuo sito) devi sapere il nome degli elementi di input, cioè il nome dei campi del sito dove devi inserire User e Password. Inoltre il nome dell'oggetto (pulsante o altro) su cui cliccare "automaticamente" per confermare i dati di accesso. Fatto questo, dovrai analizzare le eventuali tabelle presenti nella page e portarle strutturalmente nel tuo foglio di lavoro.
Qui mi fermo e ti sottopongo il seguente codice che serve ad effettuare da excel il login al nostro sito
utilizzando Internet Explorer.
I nomi dei campi della pagina di login (che io ho già trovato) vengono messi nella collection che ho chiamato "mCollection". Nel debug, se vuoi, una volta attivata tale collection puoi "spulciare" i vari item per vedere i nomi (id) degli altri campi che la pagina di login richiede (es: login sicuro - login nascosto ecc).
Naturalmente
prima di eseguire il codice chiudi Internet Explorer (anche se è facoltativo), ma
fai il logout dal ns. sito,
ed inserisci nella routine le tue credenziali.
Segui il tutto in debug avvalendoti della finestra immediata e della finestra delle variabili locali.
Saluti
Sub Login_Freeforumzone()
' Riferimenti:MicroSoft Internet Controls e Microsoft Object HTML Library <<<<<<<<<<<<<<<<<
Dim mUser As String, mPsw As String, mURL As String
Dim mPage As Object, mIE As Object
Dim mInput As Object, mCollection As Object
mUser = "TuaUser" '<- modificare
mPsw = "TuaPassword" '<- modificare
mURL = "http://www.freeforumzone.com/loginc.aspx?c=36681&f=36681&pbu=%252fa%252f167685%252fDomande-e-risposte%252fcartella.aspx" 'ind. pg.Web
Set mIE = CreateObject("InternetExplorer.Application")
With mIE
.Navigate mURL
.Visible = 1
Do While .Busy: DoEvents: Loop
Do While .ReadyState <> 4: DoEvents: Loop
Set mPage = .Document
Set mCollection = mPage.getElementsByTagName("INPUT")
On Error GoTo Logged
mCollecti0n("ctl00_CPH1_LoginControl_TUsername").Value = mUser
mCollecti0n("ctl00_CPH1_LoginControl_TPassword").Value = mPsw
mCollecti0n("ctl00_CPH1_LoginControl_ButLogin").Click
End With
esci:
mIE.Quit
Set mIE = Nothing
Set mCollection = Nothing
Exit Sub
Logged:
MsgBox "E' possibile che tu sia già loggato al sito"
Resume esci
End Sub
(nb: il registratore di macro non può ovviamente aiutarti in questo caso)
[Modificato da dodo47 19/08/2017 12:21]
Domenico
Win 10 - Excel 2016