Εμφάνιση ενός μόνο μηνύματος
  #6  
Παλιά 18-10-10, 20:07
Το avatar του χρήστη Meteora
Meteora Ο χρήστης Meteora δεν είναι συνδεδεμένος
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.033
Προεπιλογή

Καλησπέρα ...
Για λόγους αρμονίας (συμμετρίας) και μόνο θα σας παρουσιάσω την επιλογή εκτυπωτή μέσω της 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). Ας το δει κάποιος και γιατί όχι να φτιάξει μια κομψή φόρμα την οποία θα χρησιμοποιούμε στο εξής στις εφαρμογές μας...
Γιώργη (Καπετάνιε ! ) εσένα έχω -κυρίως-στον νου μου και φυσικά την Αλεξάνδρα που άνοιξε το θέμα
Καλό βράδυ σε όλους μας / Νίκος Δ.

Τελευταία επεξεργασία από το χρήστη Tasos : 19-10-10 στις 09:22. Αιτία: Απόστροφοι σε μη υποστηριζόμενη μορφή
Απάντηση με παράθεση