Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (64.66 KB, 2 trang )
Ghi nhật ký in tự động vào một tệp
Nguyễn Phương Thảo 525 - Đường Điện Biên - TX. Yên Bái. Mailto:
Trên thực tế có rất nhiều việc phải ghi nhật ký. Ghi nhật ký in, tự động là một ví
dụ. Khi ghi nhật ký rồi ta có thể theo dõi kiểm soát toàn bộ quá trình in để có thể
xác định được lượng in mà có các biện pháp dự trù kế hoạch và nhiều vấn đề khác.
Nếu máy của bạn cài Visual Basic, bạn có thể thiết lập một lệnh nội trú âm
thầm, trong một lớp Class, tạo một lệnh riêng để phục bắt các hàm:
Declare Function PrintDlg Lib "comdlg32.dll" Alias "PrintDlgA" (pPrintdlg As
PRINTDLG) As Long
Declare Function AbortPrinter Lib "winspool.drv" Alias "AbortPrinter" (ByVal
hPrinter As Long) As Long
Declare Function WritePrinter Lib "winspool.drv" Alias "WritePrinter" (ByVal
hPrinter As Long, pBuf As Any, ByVal cdBuf As Long, pcWritten As Long) As
Long
(Bạn có thể liên hệ với tôi để có bản gốc phần lập trình này).
Tuy nhiên không phải máy nào cũng có cài Visual Basic, nên tôi xin giới thiệu
cách xây dựng hàm mới ngay chính trong VBA (Visual Basic For Application),
một cách làm mà ở bất cứ môi trường Microsoft Office nào cũng có thể thực hiện
được. Tôi lấy ví dụ thiết lập thủ tục cho Winword, môi trường nhiều người sử dụng
nhất, bạn có thể thiết lập ở các môi trường khác có in và hỗ trợ VBA như EXCEL,
ACCESS, POWER POINT thậm chí cả ACAD, bằng cách tương tự.
Từ Winword có nhiều cách để vào Visual Basic, tôi chọn nhấn Alt+F11, rồi
nhấn Ctrl +R để hiện Project Explore. Có thể đánh vào bất cứ module nào trong tệp
Normal.DOT nếu chưa có, ta có thể Insert\Module để đánh đoạn mã Visual Basic
sau:
Sub KiemtraIn()
Dim soban As String, ngayin As String, gioin As String, trangin As String
Dim tong As String, tentep As String, TH
Static hien As Boolean
Set hopin = Dialogs(wdDialogFilePrint)