Καλησπέρα ...
Για λόγους αρμονίας (συμμετρίας) και μόνο θα σας παρουσιάσω την επιλογή εκτυπωτή μέσω της
VBA
Άνοιγμα φόρμας σε acdialog. Στη φόρμα αυτή υπάρχει το list box με όνομα Combo0. Στο Load της φόρμας υπάρχει ο κώδικας :
Κώδικας:
Private Sub Form_Load()
Dim x As Printer
For Each x In Application.Printers
Combo0.AddItem x.DeviceName
Next
End Sub
Αυτό το τμήμα κώδικα 'γεμίζει' το combo0 με τους διαθέσιμους εκτυπωτές του υπολογιστή μας.
Με το άνοιγμα της φόρμας -μάλλον θα εισπράξουμε το Run-time error 6014, το οποίο αποκαθίσταται αν επιλέξουμε το combo0 σε περιβάλλον σχεδίασης της φόρμας και στη καρτέλα Data (δεδομένα) και στην ιδιότητα Row Source Type επιλέξουμε Value List
Στη συνέχεια στο After Update του combo0 γράφουμε κάτι σαν αυτό εδώ:
Κώδικας:
dim strDefaultPrinter as string
strDefaultPrinter = Application.Printer.DeviceName
Set Application.Printer = Application.Printers("'" & combo0 &"'")
{code}
Set Application.Printer = Application.Printers(strDefaultPrinter)
Δεν δοκίμασα το 2ο κομάτι του κώδικα (έχω κάποιο πρόβλημα στην Access). Ας το δει κάποιος και γιατί όχι να φτιάξει μια κομψή φόρμα την οποία θα χρησιμοποιούμε στο εξής στις εφαρμογές μας...
Γιώργη (Καπετάνιε ! ) εσένα έχω -κυρίως-στον νου μου και φυσικά την Αλεξάνδρα που άνοιξε το θέμα
Καλό βράδυ σε όλους μας / Νίκος Δ.