e' da poco che mi sono avvicinato a Visual Basic... vorrei stampare su carta dei dati e non so come fare... qlc1 può darmi qlc suggerimento, qlc tutorial da leggere, qlc dritta?
Grazie e ciao a tutti
e' da poco che mi sono avvicinato a Visual Basic... vorrei stampare su carta dei dati e non so come fare... qlc1 può darmi qlc suggerimento, qlc tutorial da leggere, qlc dritta?
Grazie e ciao a tutti
per il VB abbiamo un subforum apposito. sposto il thread![]()
...Terrible warlords, good warlords, and an english song
ciao....hai varie possibilità
visto che sei nuovo del linguaggio, partirei con l'oggetto printer.
puoi trovare molte info nell'help in linea
printer.currentX = 10
printer.currenty=1
printer.print "Prima riga stampata alle coordinate 10, 1"
ciao
Grazie mille per la risposta e scusate se ho sbagliato ad inserire il thread nel forum sbagliato![]()
io prelevo dei dati da un file e per ogni informazione che ho prelevato basta che gli do le coordinate con il codice che mi hai postato e poi faccio la stampa? è così che funziona? lo so che potrei provare il codice invece di chiederlo... ma vorrei sapere se è così che funziona il printer.
Ciao e grazie
certo che funziona
puoi associare all'oggetto printer direttamente una variabile, una concatenazione di stringhe, ecc.
printer.print "Ciao da " & NomeUtente
con il file
...
...
Riga = FSO.Readlin() //dipende da come hai fatto
Printer.Print Riga
ciao
ho provato a stampare con printer.print, p.es
Printer.CurrentX = 50
Printer.CurrentY = 60
Printer.Print A(I)
Printer.CurrentX = 20
Printer.CurrentY = 1
Printer.Print A(I + 1)
ma le cose che mi stampa sul foglio sono stampate una sull'altra discostandosi di poco tra loro...forse devo sapere qlc cosa sull'unità di misura che usa la stampante? infatti ho dovuto mettere
x=5500 e y= 7200 per riuscire a stampare quasi a centro pagina.
ps. non è tanto normale che quando avvio la stampa con il programma aperto la stampante non stampa niente e se chiudo il programma comincia a stampare.
ciao
ciao, allora....
problema 1. la scala con cui indichi le coordinate alla stampante dipende da printer.sclamode = vbmillimeters, vbpixel, vbcharacters, ecc. penso che la migliore sia millimetri, comunque tutte le opzioni le puoi vedere nell'help e scegliere quella che desideri tu.
è una cosa che solitamente si imposta all'inizio della routine di stampa ed eventualmente si cambia durante la stessa.
secondo problema.....bisogna vedere anche un pà l'help!!!
quando arrivi alla fine della tua routine di stampa, devi usare printer.enddoc per far capire alla stampante di partire (se non lo metti VB accoda la stampa nello spool ma non la fa uscire!), altrimenti deve terminare il programma
ciao
si lo so che l'ideale sarebbe consultare la guida solo che non l'ho installata e non posso neanche farlo perché non ce l'ho ho provato con l'msdn del sito microsoft a cercare l'oggetto printer ma non mi è stato molto d'aiuto(forse ho sbagliato nella ricerca, a dire il vero non so neanche se il printer andava cercato nell'msdn sul sito della microsoft)...altrimenti non ti avrei scocciato così tanto :tongue: Grazie mille comunque
tranquillo, non si tratta di scocciare....oggi ti aiuto io, domani mi aiuti tu.
comunque avere l'help in linea è molto utile, non si possono ricordare tutte le proprietà a memoria.
cmq, se hai problemi sono qua.ciao
EVVIVA!!!! ci sono riuscito!!! detto in parole povere... la stampante lascia un margine sinistro, superiore,inferiore, destro di 5 millimetri!!! i 5500 e 7200 erano twips(come era possibile intuire prima!!!solo che si capisce sempre troppo tardi) ho settato vbscale in millimetri e con un righello ho costatato che il tutto funziona ora mi basta prendere le coordinate col righello e tutto dovrebbe andare, per settare in millimetri si utilizza: Printer.ScaleMode = 6
dove 6 sta ad indicare appunto i millimetri. Cmq per adesso penso possa bastare e...mi rifarò vivo prossimamente.
GRAZIE a tutti e ciao