Newsgroup: it.comp.lang.visual-basic
Titolo: [VB6] stampa file xls, doc, pdf, jpg

Salve a tutti,
ho la necesitt� di lanciare dalla mia app la stampa di numerosi file di vari 
formati xls, doc, pdf e jpg. Avevo pensato in un primo momento di utilizzare 
la shellexecute, ma mi da problemi (apre il file ma non lo stampa), cosi' ho 
pensato di gestire la cosa tramite createobject. Il programma deve fare 
tutto in maniera autonoma ma ho qualche problema:
- secondo voi � affidabile utilizzare la create object per una discreta mole 
di dati (circa 200 file giornalieri) di fogli excel e word?
- come mi consigliate di stampare i pdf e i jpg (evitando i wizzard)?
grazie 1000 a tutti
Dade 

 la shellexecute, ma mi da problemi (apre il file ma non lo stampa)
La butto lï¿œ: hai provato a passare "print" a ShellExecute()?
-- 
S.

 S. 

 ad un altro viewer?
Ci sto passando pure io.
Ho implementato l'object per word ed excel, e la shellexecute per gli altri
file (lasciando la shellexecute volendo anche per word/excel, cos� funge
anche con OOo).
Con l'object hai pi� controllo, e inoltre puoi estenderlo man mano con i
vari tipi di files.
Come requisito ho messo che i file debbano avere un'associazione ad un
programma che permetta il metodo print diretto, cos� se lo vogliono fare se
lo vedono loro.
Anche word ed excel potrebbero non gestire pi� il print, cos� come ogni
altro file, dato che penso dipenda dalle opzioni cartella per
quell'estensione.

 quell'estensione.
Avevo pensato pure io ad un sistema del genere inizialmente... pero' 
l'object mi d� dei problemi su alcuni file:
runtime 1004: Metodo 'worksheets' dell'oggetto '_Global' non riuscito che 
non capisco che roba sia visto che il foglio excel che mi genera il problema 
� un normalissimo foglio... Non ho molta esperienza sugli object... anzi 
direi quasi nulla... ma il codice che uso mi sembra corretto (confesso il 
copia incolla da web :P):
    Dim xlApp As Excel.Application
    Dim xlWB As Excel.Workbook
    Dim xlSH As Excel.Worksheet
    Set xlApp = New Excel.Application
    Set xlWB = xlApp.Workbooks.Open(Filename:=f)
    For Each ws In Worksheets
        Debug.Print ws.Name
        ws.PrintOut
    Next ws
    xlWB.Save
    xlWB.Close
    xlApp.Quit
    Set xlWB = Nothing
    Set xlApp = Nothing
    Set ws = Nothing
una curiosit�, che programma usi per la stampa delle immagini?
grazie 1000
Dade

 una curiosit�, che programma usi per la stampa delle immagini?
Nessuno, come ti ho detto gli ho indicato che se vogliono stampare le
immagini devono prendere un programma che supporti il metodo "print" della
shellexecute.
Non mi sono neanche posto il problema di vedere quale sia. Immagino
qualcosa tipo irfanview o acdsee se esistono ancora, riescano a farcela,
oppure configurare le opzioni cartella.
Se me lo chiederanno svilupper� un plugin che carica l'immagine in una
picture box o simile e da l� gestir� il tutto. Ma a quel punto pagheranno
per la funzionalit� specifica.

 per la funzionalit� specifica.
l'idea della picture box, � interessante pero' mi preoccupa un po' la stampa 
a pagina intera... non vorrei che poi avessero delle immagini che vanno 
ingrandite ed altre invece che devono rimanere a dimensione reale... 
delegando ad un software esterno sarei piu' tranquillo... ma ci pensero' su 
domani...
invece una cosa che non riesco a capire... i comandi per il create object 
(ole) dove vengono documentati? Sto sputando sangue per interfacciarmi con 
outlook 2007, non riesco ad estrarre l'indirizzo del mittente della mail, e 
l'unica guida che ho trovato � un ebook a pagamento :(
grazie 1000
dade 

 l'unica guida che ho trovato � un ebook a pagamento :(
Non mi son mai interfacciato con outlook, ma per office uso 2 metodi:
1) Registro una macro in VBA e la copio in VB6 adattandola (costanti ecc.)
2) In VB6 metto il riferimento ad office, sfrutto intellisense e simili,
poi lo tolgo e inizializzo gli oggetti con createobject.

 dade
Per quanto riguarda Office, quando installi dovresti avere, per tutti
gli applicativi, l'opzione per installare il componente "File guida
per VBA" o qualcosa del genere... li trovi tutto quello che serve per
utilizzare via automazione i vari prodotti sia dal loro editor di
macro integrato sia da programma esterno, come vuoi fare tu.