Sửa giúp code khi in để có thể in trên biên bản bất kỳ

Liên hệ QC

xuantocdotb

Thành viên chính thức
Tham gia
1/6/16
Bài viết
66
Được thích
23
Em có Form dùng để in ấn.
Hiện tại in ở sheet (Bang) đã in được, sheet (Bang) được lấy dữ liệu từ sheet (Nguon).
Em muốn sử dụng luôn Form đó để in sheet (LayDL) , sheet (LayDL) được lấy dữ liệu từ sheet (Dulieu).
Nhờ anh chị giúp em chỉnh đoạn code để có thể áp dụng Form in được sheet (LayDL), mở rộng ra cho trường hợp in 3 hay 4 sheet.
Mã:
'In
Private Sub OkInBB_All_Click()
    Dim inStart, inFinish As Long
    Dim I As Long
    Dim ws As Worksheet
    ActiveSheet.DisplayPageBreaks = False
   
    On Error GoTo Thoat
    Set ws = ActiveSheet
    inStart = TextBox1.Value
    inFinish = TextBox2.Value
        For I = inStart To inFinish
            With ws
            ActiveSheet.DisplayPageBreaks = False
            .Range("G8").Value = I
            .PrintOut
            End With
        Next I
Thoat:
    Unload Me
    ActiveSheet.DisplayPageBreaks = False
End Sub

Private Sub ThoatInBB_All_Click()
    Unload Me
    ActiveSheet.DisplayPageBreaks = False
End Sub
'máyin
Private Sub Printer_Properties_Click()
    Call Shell("rundll32 printui.dll,PrintUIEntry /p /n """ & ComboBox1.Value & """", vbNormalFocus)
End Sub

Sub List_Printer()
    Dim aPrinters As Object
    Dim I As Long, N As Long
    With CreateObject("WScript.Network")
        Set aPrinters = .EnumPrinterConnections
        For I = 1 To aPrinters.Count Step 2
            ComboBox1.AddItem aPrinters.Item(I)
        Next
    End With
End Sub

Sub Get_Default_Printer()
    Dim WSHshell As Object, RegKey As String, RegKeySplit As Variant
    Dim RegDefault As String, MyPrinter As String
    RegKey = _
            "HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\Device"
    Set WSHshell = CreateObject("WScript.Shell")
    RegDefault = WSHshell.RegRead(RegKey)
    Set WSHshell = Nothing
    RegKeySplit = Split(RegDefault, ",")
    MyPrinter = RegKeySplit(0)
    ComboBox1.Text = MyPrinter
End Sub

Private Sub UserForm_Initialize()
    Call List_Printer
    Call Get_Default_Printer
End Sub
Em xin cảm ơn!

in.png
 

File đính kèm

  • In.xlsm
    42.2 KB · Đọc: 9
Web KT
Back
Top Bottom