Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   [ Συναρτήσεις ] Ενεργοποίηση πλήκτρων CTRL + P, με χρήση VBA (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/5683-energopoiisi-pliktron-ctrl-p-me-xrisi-visual-basic-applications.html)

dimitrisp 29-10-20 10:27

Ενεργοποίηση πλήκτρων CTRL + P, με χρήση VBA
 
Καλησπέρα!

Σε μιά φόρμα εάν χρησιμοποιήσουμε τον κώδικα,

Παράθεση:

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If acCtrlMask And KeyCode = 80 Then
MsgBox ("Η εκτύπωση δεν είναι διαθέσιμη")
KeyCode = 0
End If
End Sub
αποκλείουμε την εκτύπωση με τη χρήση των πλήκτρων CTRL + P.

Είναι δυνατόν, με κώδικα σε ένα κουμπί εντολής, να ενεργοποιήσουμε
τα πλήκτρα CTRL + P (αυτόματα, χωρίς να τα πατήσουμε)?


Σας ευχαριστώ εκ των προτέρων.

pctechdr 06-11-20 13:26

Αν κατάλαβα καλά θέλεις να κάνεις εκτύπωση με κουμπί εντολής? Αυτη είναι η εντολή DoCmd.RunCommand acCmdPrint

dimitrisp 06-11-20 16:55

Καλησπέρα

Φίλε Χρήστο, δεν θέλω να κάνω εκτύπωση με την εντολή DoCmd.RunCommand acCmdPrint!
Η αλήθεια είναι πώς είτε χρησιμοποιήσουμε την εντολή αυτή είτε τα πλήκτρα CTRL + P,
έχουμε το ίδιο αποτέλεσμα: Ανάδυση του παραθύρου εκτύπωσης των Windows.

Αλλά, νομίζω, έχει ενδιαφέρον να παραθέσω το πώς μου ήρθε η ιδέα για το ζητούμενο:
Από μιά φόρμα τής βάσης μου ανοίγω με κατάλληλο κώδικα ένα αρχείο μορφής pdf.
Με ανοιχτό το αρχείο pdf, πατάμε τα πλήκτρα CTRL + P και ανοίγει το προεπιλεγμένο
παράθυρο εκτύπωσης του pdf. (και όχι το προεπιλεγμένο παράθυρο εκτύπωσης των Windows).

Έχοντας κατά νου τα παραπάνω και θέλοντας να αυτοματοποιήσω την όλη διαδικασία,
σκέφτηκα την ενεργοποίηση των πλήκτρων CTRL + P με vba, έτσι ώστε όταν ανοίγει το αρχείο
pdf, αυτόματα να μεταφέρεται στη διαδικασία εκτύπωσης!

Βεβαίως, ύστερα από αρκετή σκέψη και περίσκεψη νομίζω ότι αυτό δεν γίνεται τουλάχιστον με τον τρόπο που σκέφτηκα!

Έχει κανείς άλλος φίλος καμιά άλλη ιδέα?

pctechdr 09-11-20 10:36

Αν θέλεις οπωσδήποτε τον διάλογο εκτύπωσης του Acrobat Reader (Δεν μπορω να φανταστώ καν τον λόγο γι αυτό) τότε μπορείς με λίγο κώδικα.

Public Function PrtPdf(sDocumentFullPath As String)
Dim str, sReader As String
sReader = "C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe"
str = Shell(sReader & " /P " & Chr(34) & sDocumentFullPath & Chr(34), 0)
End Function

Βασική προυπόθεση να έχεις εγκατεστημένο τον Acrobat Reader και βεβαιώσου ότι η διαδρομή με τα έντονα γράμματα στον κώδικα ισχύουν.

dimitrisp 09-11-20 17:03

Καλησπέρα

Χρήστο, σε ευχαριστώ που ασχολήθηκες με το θέμα μου!

Φαίνεται να έχεις δικαιολογημένα δίκιο ότι δεν μπορείς να καταλάβεις
το λόγο που ανέβασα το ζητούμενο!
Το θέμα ανοίχτηκε γιά εκπαιδευτικούς και μόνον λόγους. Αυτό είναι όλο!

Νάσαι καλά και καλή συνέχεια...


Η ώρα είναι 07:11.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2