Ghi nhật ký in tự động vào một tệp ppsx

2 295 1
Ghi nhật ký in tự động vào một tệp ppsx

Đang tải... (xem toàn văn)

Thông tin tài liệu

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: fthaoabc@yahoo.com 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 fthaoabc@yahoo.com để 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) 'Tổng số trang trong văn bản là tong = Str(Selection.Information(wdNumberOfPagesInDocument)) 'Tên tệp là tentep = ActiveDocument.FullName If Left(tentep, 5) = "C:\My" Then 'Nếu tệp đặt ở My Document thì không cần nói rõ tentep = Mid(tentep, 17, Len(tentep) - 20) End If TH = hopin.Show If TH = -1 Then soban = Str(hopin.NumCopies) Select Case hopin.Range Case 0 trangin = "In toàn bộ " + tong + " trang" Case 2 trangin = "In trang hiện tại" Case 4 trangin = " In rời trang " + hopin.Pages Case Else trangin = "Không rõ" End Select ngayin = Str(Date) gioin = Str(Time) ThongBao = trangin + " X " + soban + " bản của tệp [" + tentep + "] lúc " + gioin + ngayin 'Mở tệp nhật ký in trong thư mục NC để ghi Open "C:\NC\Nhatkyin.vns" For Append As #1 Print #1, ThongBao Close #1 Else ThongBao = "thủ tiêu in." End If If Not (hien) Then 'Thông báo số trang in bằng hộp thoại cho ngưười sử dụng TraLoi = MsgBox("Bạn đã " + ThongBao + Chr(13) + "Quá trình in đã được ghi vào Nhật ký. Nếu không muốn hiện thông báo này xin chọn nút Cancel.", vbInformation + vbDefaultButton2 + vbOKCancel, "Tin học ABC - 029 854 134") If TraLoi = vbCancel Then hien = True End If End If End Sub Sau khi đã thiết lập xong hàm trên, bạn hãy sử dụng Tools\Customize để thủ tục này thay thế nút Print trên thanh công cụ, thay thế thực đơn File\Print , thay thế tổ hợp phím Ctrl +P. Xin xem bài cách đặt các Macro vào thanh công cụ, thực đơn, và tổ hợp phím trên PCWorld. (Tôi sử dụng một cách làm tự động để thay các nút như là Virus Macro vậy, vấn đề này xin đề cập ở bài viết sau). Để tạo một ShortCut kiểm tra việc in ấn, ta tạo một tệp Xem.BAT bằng một chương trình TEXT nào đó ví dụ NOTEPAD (Cất ở TEXT ONLY), nội dung như sau: C:\tbk.COM wpview.EXE %1 c:\TBK/u Phải sao tệp thường trú TBK.COM của nhóm Quách Tuấn Ngọc ra thư mục gốc ổ C. (Tuy nhiên, bạn có thể sử dụng một chương trình thường trú khác có trùng mã với phần lập trình trên, ví dụ VIETRES). Còn tệp WPVIEW.EXE có sẵn trong thư mục của NC. . 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: fthaoabc@yahoo.com 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. 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) 'Tổng. " bản của tệp [" + tentep + "] lúc " + gioin + ngayin 'Mở tệp nhật ký in trong thư mục NC để ghi Open "C:NCNhatkyin.vns" For Append As #1 Print #1, ThongBao Close

Ngày đăng: 12/07/2014, 00:20

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan