Lấy danh sách máy in và in các sheet tùy ý trong VBA

Leave a Comment
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

Được tạo bởi Blogger.