Buongiorno a tutti,
riapro il post perchè sto avendo alcuni problemi che non credevo di incontrare.
Problema 1) Ho seguito le indicazioni dei link fornitemi da AndyCap64 e quelle trovate nel link sopra indicato. Sono riuscito a elaborare il seguente codice
Sub prova()
Dim IE As Object
If IE Is Nothing Then Set IE = CreateObject("InternetExplorer.Application")
Set IE = CreateObject("InternetExplorer.Application")
IE.navigate "http://re.jrc.ec.europa.eu/pvgis/apps4/pvest.php#"
IE.Visible = True
Do While IE.Busy Or IE.readyState <> 4
DoEvents
Loop
IE.document.all.Item("LATBOX").Value = Cells(22, 6)
IE.document.all.Item("LONBOX").Value = Cells(23, 6)
IE.document.all.Item("LONBOX").Select
SendKeys "{ENTER}", True
IE.document.getElementByID("plotdatagraph_PV").Select
IE.document.getElementByID("plotdatagraph_PV").Click
REM IE.document.getElementByID("showorizon_PV").Select
REM IE.document.getElementByID("showorizon_PV").Click
IE.document.getelementsbyname("outputchoicebuttons").Item(1).Checked = True
IE.document.getElementByID("PVchoicesubmit").Select
SendKeys "{ENTER}", True
End sub
Il codice di cui sopra si riferisce alla pagina indicata e
- inserisce le coordinate lette da excel (ovvero cells(22,6) e cells (23,6)) e le inserisce nelle caselle
LATBOX e LONBOX presenti sulla pagina web
- si posizione sulla casella LONBOX e preme ENTER in modo da creare il puntatore all'interno della finestra di google maps
- selezione e clicca la checkbox "Show graphs" (il suo ID è plotdatagraph_PV)
Io però non riesco a far selezionare anche la checkbox "Show orizon" (il suo ID è
showorizon_PV), mi dà errore (infatti ho anteposto al codice la stringa REM). Sapete come mai?
Problema 2) Il codice continua selezionando il radio button "text file" poi seleziona il pulsante "Calculate" e genera il file in formato txt.
Io però ho trovato il codice al link di cui sopra
http:\archi.forumup.it\about5387-0.html
che nella parte finale fa questo
Dim objMSHTML As New MSHTML.HTMLDocument
Dim objDoc As MSHTML.HTMLDocument
Set objDoc = objMSHTML.createDocumentFromUrl("http://re.jrc.ec.europa.eu/pvgis/apps4/PVcalc.php", vbNullString)
Do While objDoc.readyState <> "complete"
DoEvents
Loop
Application.Wait (Now + TimeValue("0:00:2"))
SendKeys ("^a")
SendKeys ("^c")
SendKeys ("^w")
Sheets("Supporto Maschera").Select
Range("G3").Select
ActiveSheet.PasteSpecial Format:="Text", link:=False, DisplayAsIcon:=False
Sheets("Supporto Maschera").Select
Range("G2:G39").Select
Selection.TextToColumns Destination:=Range("M2"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _
:=Array(Array(1, 2), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1)), _
DecimalSeparator:=".", ThousandsSeparator:=",", TrailingMinusNumbers:= _
True
ActiveWindow.SmallScroll Down:=18
Sheets("Parametri").Select
Range("c12").Select
TextBox1.Text = ActiveCell
In pratica questa parte di codice dovrebbe (credo) leggere direttamente il file di testo da internet, estrarne una parte e poi inserirla in excel. Il problema è che non riesco a fare funzionare il codice perchè mi dà errore già dalle prime due righe
Dim objMSHTML As New MSHTML.HTMLDocument
Dim objDoc As MSHTML.HTMLDocument
Excel infatti mi dice che il "Tipo definito dall'utente non è definito". In effetti vorrei evitare di aprire il file generato in internet explorer, leggendolo direttamente da internet. Mi sembra di aver capito che quando ho compilato tutte le caratteristiche
nella pagine web e seleziono il pulsante "Calculate" viene creata una copia temporanea del file sul server che poi posso scaricare (ma non ne solo sicuro).
Sapete aiutarmi? Allego al mio messaggio le caratteristiche del PC in uso.
Buona domenica,
Saluti
Luca
Caratteristiche PC
Intel Pentium i7 - 64 bit
Office 2010 home and business
Internet Explorer 11