Khi lập trình VBA trong Excel chúng ta cần lấy danh sách các máy in tùy ý và chọn một sheet tùy ý để in. Phương pháp làm là lập trình VBA kết hợp phương pháp lập trình Windows API.

Mã nguồn lấy danh sách máy in và in tùy ý lập trình VBA trong Excel như sau:
'Cai tien dua vao userform - Nguyen Duy Tuan - http://bluesofts.net -
duytuan@bluesofts.net
Option Explicit
Private Sub cmdPrint_Click()
Dim sh As Worksheet
Set sh = ActiveWorkbook.Sheets(cbSheets.Value)
sh.PrintOut , , txtCopies.Value, False, cbPrinters.Value
End Sub
Private Sub SpinButton1_Change()
'Tang, giam so ban copy
txtCopies.Value = SpinButton1.Value
End Sub
Private Sub UserForm_Initialize()
Dim PrinterName As Variant, sh As Object, I&
I = 0
For Each PrinterName In EnumeratePrinters
I = I + 1
cbPrinters.AddItem PrinterName
If cbPrinters.ListIndex < 0 And PrinterName = ActivePrinter Then
'Lay may in default
cbPrinters.ListIndex = I - 1
End If
Next
'Hien may in dau tien
If cbPrinters.ListIndex < 0 And cbPrinters.ListCount > 0 Then
cbPrinters.ListIndex = 0
End If
I = 0
For Each sh In ActiveWorkbook.Sheets
I = I + 1
cbSheets.AddItem sh.name
If cbSheets.ListIndex < 0 And sh.name = ActiveSheet.name Then
'Hien sheet dang mo
cbSheets.ListIndex = I - 1
End If
Next
End Sub
|
0 nhận xét:
Đăng nhận xét