Newsgroup: it.comp.lang.visual-basic
Titolo: Copiare dati campi testo tra due programmi

Ciao,
non sono un veterano e ho qualche difficoltà in che modo riuscire a
realizzare un'azione.
Con un softwarino mi servirebbe copiare dei campi di una pagina web
locale contenenti testo in altri campi di un software già esistente.
Chi mi saprebbe dare qualche dritta? Mi sono spulciato pagine e pagine
di MSDN ma non ho trovato nulla di utile ahimè. Grazie tante a
chiunque voglia rispondere.

Chi mi saprebbe dare qualche dritta?
quick & dirty fatto al volo in vbs .. visto che parli di pagine web
puoi utilizzare la xlipboard di IE  devi avere la protezione Internet Exploder
settata su bassa .. la stessa cosa la poi fare meglio col clipboard di VB
apri un form e scivici  clipboard.   e poi premi F1
  set ie = createobject("internetexplorer.application")
  ie.navigate"
http://www.google.it
"
    Do until ie.readystate = 4 : wscript.sleep 10: Loop
  TextFromHTML = ie.document.body.innerText
filename = "google.txt"
' col ie.navigate puoi richiamare anche la tua pagina locale
Set fso = CreateObject("Scripting.FileSystemObject")
Set newf = fso.createtextfile(filename)
newf.WriteLine x
newf.close
IE.document.parentwindow.clipboardData.SetData"text","TEST"
GetTest = IE.document.parentwindow.clipboardData.GetData("text")
msgbox GetTest
IE.document.parentwindow.clipboardData.SetData"text",TextFromHTML
TextFromHTML = IE.document.parentwindow.clipboardData.GetData("text")
msgbox TextFromHTML
' Nella clip adesso hai il testo della pagina voluta e l'avrai anche in google.txt
  ie.quit
'Copia incolla su notepad e salva con estensione .vbs
'tutti i file (*.*)  poi ci clicchi sopra. (per esempio Test.vbs)
'se ti da' errore disattiva l'antivirus
--
Fosco

Con un softwarino mi servirebbe copiare dei campi di una pagina web
se ti interessa qualcosa tipo questo dimmelo che ti indirizzo
NON e' Visual Basic pero' :
http://www.filegone.com/ip2v
--
Fosco

Ottima idea mi hai dato un buono spunto, ho tolto i msgbox che non mi
servivano. Però anche se sto senza antivirus non mi salva il testo in
google.txt...
Inoltre, come faccio poi a dirgli, la prima riga del file di testo
google.txt me la incolli nel campo X del programma X?

Oddio dirgli "vai a quel programma X nel campo X" ci so arrivare come
realizzazione, la cosa un pochettino più rognosa è il dirgli
incollami in quel campo dalla riga X del google.txt al campo X del
software...

software...
se decidi di restare sul vbs lo puoi fare col fso[1] ... come detto ci sono strumenti
migliori ed anche il sendkeys usato qui NON e' affidabile ci si potrebbe
affidare ad una activex esterna AutoitX che ha la clipGet e clipPut
http://www.autoitscript.com/autoit3/downloads.php
[1]
si desume che tu sappia gia cosa (quale linea vuoi copiare)
dim iRiga
iRiga=10 'qui specifichi le righe che vuoi saltare
' OCCIO zero based legge riga 10
Set fso = CreateObject("Scripting.FileSystemObject")
Set textStreamObject = fso.OpenTextFile("C:\WINDOWS\TEMP\Test.txt",1,false,0)
for i=1 to iRiga-1
    textStreamObject.SkipLine
next
Msgbox textStreamObject.ReadLine
Set textStreamObject = Nothing
Set fso = Nothing
' questo vbs sotto  cerca nel file google.txt  qualsiasi riga che abbia web e/o
' news all'interno .. se lo trova scrive TUTTA la riga in Risultato.log
sLogFile = "C:\WINDOWS\TEMP\Risultato.Log"
oFile ="C:\WINDOWS\TEMP\google.txt"
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oLogFile = oFSO.OpenTextFile(sLogFile, 8, True, 0)
    Set oStream = oFSO.OpenTextFile(oFile, 1)
    Do Until oStream.AtEndOfStream
      sLine = oStream.ReadLine
 If InStr(UCase(sLine),"WEB") Or InStr(UCase(sLine),"NEWS") Then
        oLogFile.WriteLine sLine & VBCrLf
      End If
    Loop
'Copia incolla su notepad e salva con estensione .vbs
'tutti i file (*.*)  poi ci clicchi sopra. (per esempio Test.vbs)
'se ti da' errore disattiva l'antivirus
Questo sotto e' l'help del WSH con numerosi esempi ( sopra il mega)
http://www.microsoft.com/downloads/details.aspx?FamilyId=01592C48-207D-4BE1-8A76-1C4099D7BBB9&displaylang=en
http://download.microsoft.com/download/winscript56/Install/5.6/W982KMeXP/EN-US/scrdoc56en.exe
PS:
se ho intuito ci sono stumenti piu adatti per quello che vuoi fare
--
Fosco

... non mi salva il testo in  google.txt ...
Si una mia svista nel modificare lo script .. quello che ho
postato oggi lo fa' ... con un file di testo poi e' piu facile
estrarre quello che veramente ti serve .. ti ho fatto un paio di
esempi pratici
--
Fosco

google.txt me la incolli nel campo X del programma X?
AutoitX che ha la clipGet e clipPut
http://www.autoitscript.com/autoit3/downloads.php
devi registrarla cosi  :
'start esegui  regsvr32 AutoItX3.dll
iRiga=0 'qui specifichi le righe che vuoi saltare
' OCCIO zero based legge riga 1
set oShell = CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
Set txt = fso.OpenTextFile("C:\WINDOWS\"& _
"TEMP\google.txt",1,False,0)
s1 = txt.ReadLine
Msgbox s1
Set oAutoIt = WScript.CreateObject("AutoItX3.Control")
oAutoIt.ClipPut s1
text = oAutoIt.ClipGet()
WScript.Echo "Clipboard contains:" & text
oShell.run"notepad"
While Not oShell.AppActivate("Senza nome - Blocco note")
wscript.Sleep 100
Wend
oShell.SendKeys "2 possibilita'" & Vbcrlf
oShell.SendKeys "mandare direttamente s1" & Vbcrlf
oShell.SendKeys s1 & Vbcrlf
oShell.SendKeys "OPPURE copiando la clip" & Vbcrlf
oShell.SendKeys"^v" & Vbcrlf
oShell.SendKeys text
Set txt = Nothing
Set fso = Nothing
--
Fosco

 affidare ad una activex esterna AutoitX che ha la clipGet e clipPut
Upps a dire il vero gia' che hai IE coinvolto non serve un'applixazione esterna :
set ie = createobject("internetexplorer.application")
 ''''' ie.navigate"C:\WINDOWS\TEMP\Google.htm"
  ' col ie.navigate puoi richiamare anche la tua pagina locale
  ' come sopra
  ie.navigate"
www.google.it
"
    Do until ie.readystate = 4 : wscript.sleep 10: Loop
  TextFromHTML = ie.document.body.innerText
filename = "google.txt"
Set fso = CreateObject("Scripting.FileSystemObject")
Set newf = fso.createtextfile(filename)
newf.WriteLine TextFromHTML
newf.close
Set txt = fso.OpenTextFile("C:\WINDOWS\"& _
"TEMP\google.txt",1,False,0)
s1 = txt.ReadLine  ' la prima riga
IE.document.parentwindow.clipboardData.SetData"text",""
IE.document.parentwindow.clipboardData.SetData"text",s1
sclip= IE.document.parentwindow.clipboardData.GetData("text")
Msgbox sclip
'leggi uno specifico punto della prima riga (sclip)
msgbox Left(sclip, 4)
msgbox Right(sclip, 8)
' questo legge l'intero google.txt e lo splitta
Set objFileSystem = CreateObject("Scripting.fileSystemObject")
Set objInputFile = objFileSystem.OpenTextFile(filename,1)
' read everything in an array
inputData = Split(objInputFile.ReadAll, vbNewline)
For Each strData In inputData
 msgbox strData
  Next
http://www.microsoft.com/downloads/details.aspx?FamilyId=01592C48-207D-4BE1-8A76-1C4099D7BBB9&displaylang=en
http://download.microsoft.com/download/winscript56/Install/5.6/W982KMeXP/EN-US/scrdoc56en.exe
--
Fosco

"cK"
qui un esempio simile e spiegato in maniera "ortodossa"
http://www.codeproject.com/vbscript/UpdateHostsFile.asp
--
Fosco

"cK"
PS :
scrivo off line e non so' se hai gia risolto .. ma tu con gli strumenti
classici di VB hai provato ???
Io qui NON ho la possibilita' di provare perche' non ho VB ma prendo
spunto da un paio di *.frm che ho qui e tento di rabberciarti qualcosa
che ti dia l'idea .. prova un po' tu se funziona ... tutto su un form in VB6
in file C:\WINDOWS\TEMP\google.txt   ci deve essere :
'PS di PS :-)  : come detto NON ho la possibilita' di provarlo sul campo
'se da qualche errore riferiscilo (fai prima a togliere l'option explicit
e commentare tutti i DIM)
Option Explicit
Private Declare Function SendMessage Lib "user32.dll" Alias _
"SendMessageA" (ByVal hWnd As Long, ByVal Msg As Long, _
wParam As Any, lParam As Any) As Long
Private Declare Function FindWindow Lib "user32.dll" Alias _
"FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName _
As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias _
"FindWindowExA" (ByVal hWndParent As Long, ByVal hwndChildAfter _
As Long, ByVal lpszClass As String, ByVal lpszWindow As String) As Long
Private Const WM_SETTEXT = 12
'Private Const WM_KEYDOWN = &H100
'Private Const WM_KEYUP = &H101
Private Sub Form_Load()
    Dim sBuffer As String
    Dim sFileLines() As String
    Dim iFile As Integer
    Dim i As Integer
    Dim h As Long
    Dim ed As Long
    iFile = FreeFile
    Open "C:\windows\temp\google.txt" For Input As iFile
    sBuffer = Input$(LOF(iFile), iFile)
    Close iFile
    sFileLines = Split(sBuffer, vbCrLf)
    For i = LBound(sFileLines) To UBound(sFileLines)
       Debug.Print sFileLines(i)
    Next
    MsgBox sFileLines(9)
    Shell ("notepad"), vbNormalFocus
' al posto di questo sotto che cerca l'EDIT di notepad
' modificalo per fare la ricerca per la finestra che vuoi tu
     h = FindWindow("Notepad", "Senza nome - Blocco note")
    Debug.Print h
     If (h <> 0) Then
         ed = FindWindowEx(h, 0, "Edit", "")
        Debug.Print ed
         If (ed <> 0) Then
 ' questo sotto mando piu linee del file google.txt al  notepad aperto
   ' SendMessage ed, WM_SETTEXT, ByVal 0, ByVal sFileLines(0) _
   ' & vbCrLf & sFileLines(5) & vbCrLf & sFileLines(7)
   ' questo manda la prima linea come hai chiesto tu
    SendMessage ed, WM_SETTEXT, ByVal 0, ByVal sFileLines(0)
         Else
             MsgBox "Could not find notepad's edit"
         End If
     Else
         MsgBox "Could not find notepad"
     End If
 End Sub
--
Fosco

Ti ringrazio innanzi tutto della tua pazienza che è encomiabile,
presumo che scaturisca dalla passione...
Nel frattempo ho avuto modo di vedere il codice vbscript di una
soluzione (te lo riporto sotto), sviluppata per la stessa pagina web di
origine dati ma per un software di destinazione dei dati differente.
Praticamente premendo il pulsante "NOME_PULSANTE" si avvia un .exe
insieme al launch di alcuni .value della pagina, che sono quelli poi
che mi servono da trasmettere all'altro software... Come posso
sfruttare questa porzione di codice per mandare questi .value all'altro
software? Ovvero, come devo procedere a creare quel trasmetti_dati.exe
a cui fa riferimento il link?
Ancora grazie!
    <TD align=middle width=122 height=40>
      <P align=center><FONT face="Verdana" color=#ffffff
size=3><B><INPUT style="FONT-WEIGHT: bold; FONT-SIZE: 10pt;
FONT-FAMILY: Arial; BACKGROUND-COLOR: #cccccc" type=button
value_NOME_PULSANTE_name=OpenTicket>
      &nbsp;
      <SCRIPT language=VbScript>
        <!--
        Dim wshshell
        Sub OpenTicket_onclick
        set wshshell = CreateObject("LaunchinIE.Launch")
        'window.alert(wshshell.location)
        wshshell.LaunchApplication ("C:\trasmetti_dati.exe " &
document.all("txt_1").value & "£" & document.all("txt_2").value & "£"
& document.FrontPage_Form1.txt_msg.value)
        set wshshell = nothing
        end sub
        -->
</SCRIPT>

 & document.FrontPage_Form1.txt_msg.value)
NON ci capisco una cippa di javascript e/o script in pagine web
ti conviene domandare su un ng adatto
news:it.comp.lang.javascript
ti butto la' le mie impressioni e cosa farei io :
cosi a naso il codice sopra sfrutta il LaunchinIE.Launch (che NON so cosa sia)
http://www.google.it/search?hl=it&q=LaunchinIE.Launch&btnG=Cerca+con+Google&meta=
tu se cliccki sul NOME_PULSANTE  si avvia l'exe ?
sembra abbastanza lineare il  C:\trasmetti_dati.exe  prende i valori (value)
di   txt_1 & txt_2  e li trasferisce a FrontPage  .. bisogna vedere i mexxanismi
di C:\trasmetti_dati.exe   e LaunchinIE.Launch e se e' possibile modificare
per le tue esigenze gia ieri ti avevo preparato un esempio in au3
autoit3  avrebbe la possibilita di leggere il testo ed esportarlo dove vuoi tu
air code (siccome NON ho i riferimenti ) autoit  (tutto completo nel link in fondo)
comunque il succo e' che quei :
$test1 = $oIE.document.all.txt_1.Value
 $test2 = $oIE.document.all.txt_1.Value
sono facilmete intercettabili anche da strumenti classici [1]e non servono
LaunchinIE.Launch  e C:\trasmetti_dati.exe
[1]
Lo puoi fare direttamente anche tu con per esempio un VBS o direttamente in VB :
http://snipurl.com/ple8
http://www.google.it/search?hl=it&q=InternetExplorer.Application&btnG=Cerca&meta=
ecco qui il mio esempio in autoit3:
http://www.filegone.com/50uh
--
Fosco

 Lo puoi fare direttamente anche tu con per esempio un VBS o direttamente in VB :
ecco un esempio pratico in VBS :
Set objIE = CreateObject("InternetExplorer.application")
    objIE.Visible = True
    objIE.Navigate "
http://google.it/
"
     Do While objIE.Busy = True
        WScript.Sleep 50
     Loop
     msgbox "metti qualcosa nella barra ricerca"
WScript.Sleep 5000  ' metti un mome qualsiasi nella barra di ricerca
  stext1 = objIE.document.all.q.Value
  Msgbox stext1
' tu puoi fare lo stesso con la tua pagina web :
stext1 = objIE.document.all.txt_1.Value
stext2 = objIE.document.all.txt_2.Value
poi dovresti avere le capacita di mettere le due variabili facilmente nel
tuo programma
--
Fosco

presumo che scaturisca dalla passione...
Sto imparando cose nuove pure io ...  e questo mi stimola
--
Fosco

Perfetto, l'ultimo esempio che mi hai fornito, mi ha portato a
sviluppare questo:
Sub Main()
Set objIE = CreateObject("InternetExplorer.application")
objIE.Navigate "indirizzopaginainternet"
objIE.Visible = True
  stext1 = objIE.document.All.txt_Hostname.Value
  MsgBox stext1
End Sub
il problema però è che nell'objIE.Navigate, io devo inserire un
percorso di un file cui nome viene generato automaticamente e ogni
volta è differente.
Dovrei dire (secondo me) al software, vai alla pagina internet explorer
corrente con un comando tipo AppActivate "nomepagina" e copiami di lì
tutti i .value. ??
Grazie!

tutti i .value. ??
Intanto leggiti un po' di roba nei due link di qui sopra ..  se ho intuito tu vorresti
fare qualcosa di simile .. copia incolla su notepad e salvalo come test.vbs
poi lancialo :
Set objIE = CreateObject("InternetExplorer.application")
    objIE.Visible = True
    objIE.Navigate "
http://google.it/
"
     Do While objIE.Busy = True
        WScript.Sleep 50
     Loop
     WScript.Sleep 1000
     msgbox "NON fare niente clicca SOLO su OK"
objIE.document.forms.item(0).q.Value="
http://tin.it/
"
 WScript.Sleep 1000  ' NON fare niente
  stext1 = objIE.document.forms.item(0).q.Value
objIE.Navigate  stext1
     Do While objIE.Busy = True
        WScript.Sleep 50
     Loop
     WScript.Sleep 1000
--
Fosco

Allora la pagina dell' objIE.Navigate è costantemente diversa. Ovvero
una volta ad esempio può servire copiare i campi dalla pagina
google.htm, un'altra volta dalla pagina google1.htm, google2.htm ecc...
La pagina è sempre identica, anche se ha un nome sempre diverso, ha
sempre gli stessi campi. Queste pagine sono aperte in maniera
automatica da un programma che le nomina diversamente una dall'altra.
Quindi le soluzioni che intravedo sono due:
1 - O prima di far partire il programma VB che mi copia i campi, creo
un pulsante che salva la pagina corrente con un nome definito sempre
uguale es. google_per_tutte.htm e chiude la finestra corrente in modo
tale che quando parte il programma, gli posso dire objIE.Navigate
"google_per_tutte.htm"
2 - Dico a VB objIE.Navigate "pagina corrente", ma non saprei come
definire quel "pagina corrente" perchè come ti ho detto prima questa
pagina ogni volta ha un nome diverso.
Spero di essermi spiegato al meglio, grazie come sempre!

 Spero di essermi spiegato al meglio, grazie come sempre!
si ho capito ... e' un po un casino
le pagine aperte sono html sempre off line o vengono navigate
Sempre con la premessa che lo faccio in vbs perche' NON ho VB per
provare ma poi sono facilmente implementabili
anzi  tu hai scaricato Autoit ?
perche sarebbe semplice :
AutoItSetOption("WinTitleMatchMode", 2)
WinWait("- Microsoft Internet Explorer", "", 5)
;WinWait ( "title" [, "text" [, timeout]] )
  ;WinWaitActive( "- Microsoft Internet Explorer", "", 5 )
; If WinActive("- Microsoft Internet Explorer") Then
   ; MsgBox(0, "", "Window was active")
 ;Retrieves the full title from a window.
$title = WinGetTitle("- Microsoft Internet Explorer", "")
MsgBox(0, "Full title read was:", $title)
;EndIf
dimmi che da qualche parte ho na cosa simile in VB (ma e' piu complicato)
--
Fosco

 dimmi che da qualche parte ho na cosa simile in VB (ma e' piu complicato)
findPart VB6
http://www.filegone.com/htnz
--
Fosco

 
http://www.filegone.com/htnz
apri una pagina web
lancia il file del link sopra  di di si alla eventuale richiesta di conversione
mettici   - Microsoft Internet Explorer  e metti la spunta su  Contains
e ckicca su Activate ... poi ti leggi il codice e vedi come fare
Adesso devo andare .. fammi sapere come e' andata
--
Fosco

Quello che mi hai prospettato, va bene per la seconda soluzione che
avevo pensato. Il problema è che il resto del programma che ho fatto
è già tutto in VB quindi dovrei continuare col vb o vbs e quindi con
la prima soluzione prospettata, non con autoit.
Quindi ora l'unico tassello che mi manca è un vbs, un vb, un
javascript, una qualsiasi cosa, che dopo aver cliccato su un tasto mi
salvi con un nome predefinito tutta la pagina html in un percorso
predefinito, senza interazioni con l'utente, in maniera del tutto
trasparente. Dopodichè parte tutto il programma VB per l'interazione
dei campi che ho già sviluppato, ma che chiaramente punta con il
objIE.Navigate alla
"pagina_fissa_con_lo_stesso_nome_salvata_dal_pulsante"

"cK"
Quindi ora l'unico tassello che mi manca è un vbs,
scolta con questo cio paciugato  ma prendilo con le MOLLE :
Dim sa: Set sa = CreateObject("Shell.Application")
Dim windows: Set windows = sa.Windows
'WScript.Echo windows.Count, "instances in", TypeName(windows)
'WScript.Echo "Location,Visible,Top,Left,ReadyState"
'For i = 0 To windows.count - 1
    For Each window In windows
    ': With window
        If LCase(Left(window.LocationURL, 4)) <> "file" Then
        msgbox window.LocationURL
        Set objIE = CreateObject("InternetExplorer.application")
    objIE.Visible = True
    objIE.Navigate window.LocationURL
         Do While objIE.Busy = True
        WScript.Sleep 50
     Loop
     WScript.Sleep 1000
        End If
    'End With:
    Next
'Next
ciao

 scolta con questo cio paciugato  ma prendilo con le MOLLE :
mi collego un attimo con tin per dirti di stare ATTENTO a questi ultimi
2 vbs (anche questo sotto) perche' non ho avuto il modo di testarli a fondo :
prova su questo sotto NON su quello di prima :
fai le prove con UNA istanza solo di IE aperta
'Torgeir Bakken (MVP) wrote:
'>Richard Bell wrote:
'>>' I'm still a bit curious about 'why?'.
'> Sorry, I'm not very into the internal workings of IE, so I can't
'> help you here...
'The following _might_ work to give us a handle on what's happening, since it
'should be able to connect to any current windows, and will display the
'location and readystate.
Dim sa: Set sa = CreateObject("Shell.Application")
Dim windows: Set windows = sa.Windows
'WScript.Echo windows.Count, "instances in", TypeName(windows)
'WScript.Echo "Location,Visible,Top,Left,ReadyState"
'''''''''For i = 0 to windows.count - 1
    For Each window in windows: With window
      '  WScript.Echo Join( Array( _
       '     .LocationURL, .Visible, .Top, .Left, .ReadyState), _
        '        ",")
        If LCase(Left(.LocationURL, 4)) <> "file" Then  sa =  .LocationUrl
  End With
            Next
'''''''''Next
Set objIE = CreateObject("InternetExplorer.application")
    objIE.Visible = True
    objIE.Navigate sa
         Do While objIE.Busy = True
        WScript.Sleep 50
     Loop
     WScript.Sleep 1000
--
Fosco

Purtroppo non è molto preciso come script per il fatto che può fare
confusione tra le finestre di explorer aperte, inoltre non funziona per
le pagine web locali.
Un VBS ottimale come ti ho detto sarebbe un qualcosa dietro un pulsante
da premere che mi esporti in un determinato percorso locale tutta la
pagina html in cui è contenuto, in un file html con il nome che dico
io, sovrascrivendo eventuali files con lo stesso nome esistenti. Ho
letto che con javascript non si può fare, ma sono sicuro che col VB
si, eventualmente passando per la clipboard non so...

Un'idea a cui avevo pensato era: uno scriptino che copiava negli
appunti il percorso della pagina web in cui era inserito, e un qualche
comando che incollasse il percorso nell'objIE.Navigate a quel punto
sarebbe tutto risolto...
Set objIE = CreateObject("InternetExplorer.application")
    objIE.Visible = False
    objIE.Navigate "PATH_FILE_INCOLLATO"
     Do While objIE.Busy = True
     Loop

Un'idea a cui avevo pensato era: uno scriptino che copiava negli
appunti il percorso della pagina web in cui era inserito, e un qualche
comando che incollasse il percorso nell'objIE.Navigate a quel punto
sarebbe tutto risolto...
Set objIE = CreateObject("InternetExplorer.application")
    objIE.Visible = False
    objIE.Navigate "PATH_FILE_INCOLLATO"
     Do While objIE.Busy = True
     Loop

 Set objIE ******
[CUT]
io il loop while busy ce lo lascerei comunque .. pui sostituire
WScript.Sleep  che da errore in un progetto VB cosi :
Private Declare Sub Sleep Lib "kernel32" _
(ByVal dwMilliseconds As Long)
    Dim objIE As Object
Set objIE = CreateObject("InternetExplorer.application")
    objIE.Visible = True
    objIE.Navigate "indirizzopaginainternet"
     Do While objIE.Busy = True
    Sleep (50)
     Loop
stext1 = objIE.document.All.txt_Hostname.Value
 MsgBox stext1
End Sub
PS:
'altre cosa ottenibili dal  objIE.********   esempio vbs (*.vbs)
Set objIE = CreateObject("InternetExplorer.application")
    objIE.Visible = True
 objIE.Navigate "
www.google.it
"
 '''objIE.Navigate "C:\WINDOWS\TEMP\Google.htm"
     Do While objIE.Busy = True
        WScript.Sleep 50
     Loop
     WScript.Sleep 1000
objIE.document.forms.item(0).q.Value="Ciao"
  sHwnd = objIE.HWND
  Msgbox "Hwnd  :" &sHwnd
  sLocation = objIE.LocationName
  Msgbox sLocation
   sUrl = objIE.LocationUrl
    Msgbox sUrl
    sBusy = objIE.Busy
    Msgbox "Busy =  " & sBusy
    sMenuBar = objIE.MenuBar
    msgbox "MenuBar = " &sMenuBar
      sStatusBar = objIE.StatusBar
      msgbox "StatusBar ="&sStatusBar
       sStatusText = objIE.StatusText
      msgbox sStatusText
               sAddress = objIE.addressbar
        Msgbox sAddress
' ecc
--
Fosco

la prima soluzione prospettata[...]
io tempo fa' ho provato  sono arrivato fin qui .. poi mi sono
stufato ed ho mollato  .. ti posto tutte le prove (*.vbs)
se hai vogloa prova a decommentare un po' e tenta..
come detto ho provato poco e se anche nella documentazione
c'e scritto che e possibile NON sono riuscito a NON fare
apparire la finestra di save as ...
dovrebbe essere qualcosa true false in
' execCommand"SaveAs","True","c:\test.html
Set IExplorer = CreateObject ("InternetExplorer.Application")
Set WshShell = WScript.CreateObject("WScript.Shell")
IExplorer.Navigate "
http://google.it
"
'''IExplorer.Navigate "C:\WINDOWS\TEMP\Google.htm"
IExplorer.Visible = True
Do Until IExplorer.readyState = 4
 wscript.sleep 100
  Loop
WScript.Sleep 500
'WshShell.Sendkeys("Hund{ENTER}")
'WScript.Sleep 5000
'IExplorer.GoBack
ret =IExplorer.document.lastModified
msgbox IExplorer.document.title
msgbox IExplorer.document.url
msgbox ret
IExplorer.document.execCommand"SaveAs","True","c:\test.html",True
'ret =IExplorer.document.execCommand("SaveAs" ,0,"c:\test.html")
'''IExplorer.document.execCommand"selectall"
''''IExplorer.document.execCommand"copy"
WScript.Sleep 50
'''''IExplorer.document.execCommand"unselect"
  'IExplorer.document.bgColor="#FFFFE0"
 'IExplorer.document.execCommand"ForeColor","false","#FF0033"
 'NOTE : In Internet Explorer, trying to dynamically alter a documents background colour,
 'If that colour has been Set In a style sheet, would Not Do anything.
PS:
appena visto adesso in microsoft.public.vb.general.discussion
vediamo se gli rispondono ... seguilo tu se sei interessato perche'
io non so se ho il tempo o se mi ricordo
oggetto : How to save in mht format with WebBrowser
Hello,
     I tried the line in vb but it open the dialogue box (I'd like not to
open this box; I'd like save without viewing a dialogue box).
WebBrowser1.ExecWB OLECMDID_SAVEAS, OLECMDEXECOPT_DODEFAULT
  I'd like to save the web page in WebBrowser1 in vb, but all automaticly
without open a dialogue box.  I'd like to save my web pages in 'Test01.mht'.
I'd like the mht format because it save the pictures in the same file.
--
Fosco

Spero di essermi spiegato al meglio, grazie come sempre!
come gia detto qui NON ho VB e devo andare a naso e NON so se funziona
adattando il  FindPart 5  di 
http://www.filegone.com/htnz
caricalo ed assicurati che ci sia il  modulo Findpart5.bas  caricato
sostituisci TUTTO nel form con questo sotto  nella variabile TITLE avrai la Caption
della istanza IE corrente  ... NON so quanto utile ti possa essere pero' :
'  Copyright ©1995-97 Karl E. Peterson, All Rights Reserved
'Option Explicit
Private Declare Function GetWindowText Lib "user32" _
Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString _
As String, ByVal cch As Long) As Long
Private Sub Form_Load()
   frmMethod.Tag = "1"
   txtTitle.Text = "- Microsoft Internet Explorer"
   lblResults.Caption = ""
   optMethod(0).Value = True
    Dim nRet As Long
   Dim Title As String
   nRet = AppActivatePartial(Trim(txtTitle.Text), _
          Val(frmMethod.Tag), (1))
   If nRet Then
      lblResults.Caption = "Found: &&H" & Hex$(nRet)
      Title = Space$(256)
      nRet = GetWindowText(nRet, Title, Len(Title))
     MsgBox Title
      If nRet Then
         lblResults.Caption = lblResults.Caption & _
            ", """ & Left$(Title, nRet) & """"
      End If
   Else
      lblResults.Caption = "Search Failed"
   End If
   Unload Me
End Sub
PS:
a naso la pagina che vorresti manipolare se lo vuoi fare con
internetexplorer.application  deve essere lanciata dallo stesso e tu parli
di un programma esterno che lo fa' ... per qui la tecnica qui sopra
anche se dovesse funzionare poi all'atto pratico non porta a nulla
--
Fosco

"cK"
prova un po le ultime cose che ho postato ieri off line
il thred viene spostato su it.test  col subject  Webrowser
http://snipurl.com/prk3
--
Fosco