Newsgroup: it.comp.appl.access
Titolo: Lavoretto urgente retribuito

Selezionare un file (HTML) da un percorso, estrarre tutti i nomi di file 
*.pdf in esso contenuti (stanno dentro degli a href) e mandarli in stampa 
(verosimilmente con shell "C:\Programmi\Adobe\Acrobat 
5.0\Reader\AcroRd32.exe nomefile.pdf /print /noscreen").
Mi serve per l'ora di pranzo, ho una mattina tragica e non ho tempo per 
mettermici io (non so neanche bene come estrarre i nomi di file). Se 
qualcuno � interessato batta un colpo.
Saluti.
Luciano

"Luciano (DOC)" <lucia...@luciano.doc> ha scritto nel messaggio 
news:4a0d1d6c$0$1109$4faf...@reader3.news.tin.it...

Se vuoi ci posso provare ma non ti assicuro niente per quanto riguarda 
l'esito...

 l'esito...
Tranquillo, non ti picchio :-)
Saluti.
Luciano

"Luciano (DOC)" <lucia...@luciano.doc> ha scritto nel messaggio 
news:4a0d21d7$0$1106$4faf...@reader3.news.tin.it...

Ma mi dovresti inviare almeno il file html... 

 Ma mi dovresti inviare almeno il file html...
E' un tabellone gigante tutto fatto cos�:
<tr><td class="NewsDataTD"><font 
class="NewsDataFONT">01/10/2008</font></td><td class="NewsDataTD"><font 
class="NewsDataFONT">"24 MINUTI</font></td><td class="NewsDataTD"><font 
class="NewsDataFONT">18</font></td><td class="NewsDataTD"><font 
class="NewsDataFONT"><a href="jeoq9.pdf" 
OnMouseOver="window.status='Richiesta articolo'; return true">PENATI, LA MM3 
FINO A PAULLO E LA 2 A VIMERCATE</a></font></td><td class="NewsDataTD"><font 
class="NewsDataFONT">&nbsp;</font></td><td class="NewsDataTD"><font 
class="NewsDataFONT">&nbsp;</font></td><td class="NewsDataTD"><font 
class="NewsDataFONT">1</font></td></tr> 

 Luciano
Primo passo : 
tirati gi� il contenuto dell'HTML in una variabile
<-------------------------------------->
Dim oHttp As Object
Dim txtRequestString As String
Set oHttp = CreateObject("MSXML2.XMLHTTP")
txtRequestString = TuoPercorsoFileHTML
oHttp.Open "GET", txtRequestString, False
oHttp.send
txtHTML = oHttp.responseText
<-------------------------------------->
della variabile txtHTML, adesso devi recuperare i nomi dei files :
visto che il tabellone � tutto contraddistinto cos� : <a href="jeoq9.pdf"
basta che ti crei un array dei tuoi <a href="jeoq9.pdf"
e con Ubound e Lbound ti crei l'indice minimo e massimo dei tuoi files...
li pulisci con un bel Replace(Replace(Array(i),"<a href=",""),""","")
e ottieni i nomi dei files da mandare in stampa
-- 
Ciao
Pablitomf
----------------------------
http://www.accessgroup.it/
----------------------------
Non mi fido molto delle statistiche, perch� un uomo con la testa nel forno
acceso e i piedi nel congelatore statisticamente ha una temperatura media.
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 basta che ti crei un array dei tuoi <a href="jeoq9.pdf"
E lo so, � questo il passaggio che mi manca :-)
Grazie.
Luciano
PS Giovanni, come va?:-)

"Luciano (DOC)" <lucia...@luciano.doc> ha scritto nel messaggio 
news:4a0d2316$0$1112$4faf...@reader3.news.tin.it...

In una maschera ho creato un pulsante (Comando11) e una casella di testo 
(txtCodiceHTML).
Tra i riferimenti ho inserito anche "Microsoft HTML Object Library e poi ho 
sfruttato il seguente codice.
Testato tutto funzionante, stampa tutti i file fino a quando trova 
all'interno del codice HTML la scritta "href="
Io ho presupposto che sia il file HTML che tutti i PDF stanno nella stessa 
cartella
Option Compare Database
Option Explicit
Private Declare Function ShellExecute Lib "shell32.dll" Alias 
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal 
lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, 
ByVal nShowCmd As Long) As Long
Private Sub Comando11_Click()
Dim oggetto As New MSHTML.HTMLDocument
Dim documento As MSHTML.HTMLDocument
Dim PosizioneIniziale, PosizioneFinale, NomeFile As String
Dim nRet As Long
Set documento = oggetto.createDocumentFromUrl("C:\TuoPercorso\prova.html", 
vbNullString)
Do While documento.readyState <> "complete"
    DoEvents
Loop
Me.txtCodiceHTML.SetFocus
txtCodiceHTML.Text = documento.documentElement.outerHTML
Set documento = Nothing
Set oggetto = Nothing
PosizioneIniziale = 1
Do
    PosizioneIniziale = InStr(PosizioneIniziale, Me.txtCodiceHTML, "href=")
    If PosizioneIniziale <> 0 Then
        PosizioneFinale = InStr(PosizioneIniziale + 6, Me.txtCodiceHTML, 
".pdf")
        PosizioneFinale = PosizioneFinale - PosizioneIniziale
        NomeFile = Mid(Me.txtCodiceHTML, PosizioneIniziale + 6, 
PosizioneFinale - 2)
        nRet = ShellExecute(Me.hwnd, "Print", "C:\TuoPercorso\" & NomeFile, 
vbNullString, 0&, 2)
    Else
        Exit Do
    End If
    PosizioneIniziale = PosizioneIniziale + 6
Loop
End Sub

 Me.txtCodiceHTML.SetFocus
Qui mi dava errore, ho creato una textbox con questo nome, non mi hai detto 
di farlo, ho presupposto io che si dovesse.
Dopo di che mi da errore 2176 "impostazione troppo lunga per la propriet�" 
alla riga
txtCodiceHTML.Text = documento.documentElement.outerHTML
Nel dir ci sono solo 3 pdf di prova
Se mi mandi un numero di tel in mailbox facciamo pi� in fretta.
Ciao.
L.

"Luciano (DOC)" <lucia...@luciano.doc> ha scritto nel messaggio 
news:775315F...@mid.individual.net...

Quant'� lungo il codice html? 

 Quant'� lungo il codice html?
Un paio di MB, del resto, come avevo detto, i pdf della lista sono alcune 
migliaia.
L.

"Luciano (DOC)" <lucia...@luciano.doc> ha scritto nel messaggio 
news:7754jmF...@mid.individual.net...

Allora prova a creare una semplice tabella con un unico campo che chiameremo 
ad esempio "Codice", impostandolo come propriet� a "Memo".
A qusto punto associ la maschera alla tabella e il campo "txtCodiceHTML" in 
origine dati al campo memo appena creato, vediamo se funziona cos�... 

 
Hi,
Dim x as variant, y as variant, mypdf as variant, aPdf as variant
x = split(documento.documentElement.outerHTML,"href=")
for i=1 to ubound(x)
    y = split(x(i),".pdf")
    if ubound(y) > 0  then
          mypdf = mypdf & y(0) & "|"
    end if
next
aPdf = split(mydf,"|")
that's all. Se la cosa e' fatta come hai descritto aPdf contiene i nomi 
dei "fucking" pdf.
--
ac

 in origine dati al campo memo appena creato, vediamo se funziona cos�...
Stesso errore.
Un telefono no, eh?:-)
L.

 Un telefono no, eh?:-)
Arretrati. Manco un kaiser di skype con telecamerina? Pfui!
--
ac

 dei "fucking" pdf.
That's what I get:
:17 CLANDESTINI TRADITI DALLE IMPRONTE DIGITALI</A></FONT></TD>
<TD class=NewsDataTD><FONT class=NewsDataFONT>&nbsp;</FONT></TD>
<TD class=NewsDataTD><FONT class=NewsDataFONT>&nbsp;</FONT></TD>
<TD class=NewsDataTD><FONT class=NewsDataFONT>1</FONT></TD></TR>
<TR>
<TD class=NewsDataTD><FONT class=NewsDataFONT>25/10/2008</FONT></TD>
<TD class=NewsDataTD><FONT class=NewsDataFONT>IL MELEGNANESE</FONT></TD>
<TD class=NewsDataTD><FONT class=NewsDataFONT>1</FONT></TD>
<TD class=NewsDataTD><FONT class=NewsDataFONT><A 
onmouseover="window.status='Richiesta articolo'; return true" href="joy09|
L. 

"Luciano (DOC)" <lucia...@luciano.doc> ha scritto nel messaggio 
news:7755i0F...@mid.individual.net...

non mi va di postarlo su tutto il ng!! 

 non mi va di postarlo su tutto il ng!!
Of course! Ho detto in mailbox :-)

 Of course! Ho detto in mailbox :-)
lucia...@sitocomune.com
 

Luciano (DOC) ha scritto:

Ma neanche se lo vedo.
Quello che mi hai mandato e' al massimo il primo elemento dell'array x 
che accuratamente scarto nella for.Oppure e' l'unico elemento dell'array 
ma in tal caso l'input e' sbagliato e non contiene cio' che dici debba 
contenere.
Visto che ci sono. Le quattro istruzioni le ho scritte al volo e mi sono 
dimenticato di trattare correttamente le virgolette
y = split(replace(x(i),chr(34),""),".pdf")
cosi' gia' va meglio.
--
ac

Luciano (DOC) ha scritto:
P.S. Non devi usare il documentElement ma l'html dell'intero "body" (il 
document principale)
--
ac

 document principale)
Veramente ora stava funzionando:-)
Thanks a lot, vediamo se riusciamo ad andare avanti da questo punto, con San 
Giovanni :-)
Intanto ho perso un po' di tempo col cliente.
L.

"Luciano (DOC)" <lucia...@luciano.doc> ha scritto nel messaggio 
news:7758brF...@mid.individual.net...

Incrcociamo le dita:
Dim oggetto As New MSHTML.HTMLDocument
Dim documento As MSHTML.HTMLDocument
Dim PosizioneIniziale, PosizioneFinale, NomeFile As String
Dim nRet As Long
Set documento = 
oggetto.createDocumentFromUrl("C:\TuoPercorso\TuaPagina.html", vbNullString)
Dim x As Variant, y As Variant, mypdf As Variant, aPdf As Variant
x = Split(documento.documentElement.outerHTML, "href=")
For I = 1 To UBound(x)
    y = Split(Replace(x(I), Chr(34), ""), ".pdf")
    If UBound(y) > 0 Then
          mypdf = mypdf & y(0) & "|"
    End If
Next
aPdf = Split(mypdf, "|")
aPdf = "|" & aPdf & "|"
PosizioneIniziale = 1
Do
    PosizioneIniziale = InStr(PosizioneIniziale, Me.txtCodiceHTML, "|")
    PosizioneFinale = InStr(PosizioneIniziale + 1, Me.txtCodiceHTML, "|")
    If PosizioneFinale - PosizioneIniziale > 0 Then
        PosizioneFinale = PosizioneFinale - PosizioneIniziale
        NomeFile = Mid(Me.txtCodiceHTML, PosizioneIniziale + 1, 
PosizioneFinale - 1)
        nRet = ShellExecute(Me.hwnd, "Print", "C:\TuoPercorso\" & NomeFile & 
".pdf", vbNullString, 0&, 2)
    Else
        Exit Do
    End If
    PosizioneIniziale = PosizioneIniziale + 1
Loop