1. Trang chủ
  2. » Công Nghệ Thông Tin

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

2 295 1
Tài liệu đã được kiểm tra trùng lặp

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 2
Dung lượng 26,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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"

Trang 1

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

Trang 2

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

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

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w