Thanh Thanh Huyền
Thanh Thanh Huyền
Thảo luận 22 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 181 lượt xem

Em muốn hiển thị lệnh in phiếu lương nối tiếp nhau thành các trang trong

Em muốn hiển thị lệnh in phiếu lương nối tiếp nhau thành các trang trong PrinPreview để có thể chọn lệnh in 1 lần in được hàng loạt

Nhờ thầy hướng dẫn ạ


Thảo luận 22 câu trả lời
Lượt xem 181 lượt xem
Vỗ tay vỗ tay
Thanh Thanh Huyền 13:03 - Mar 16, 2021

Chào bạn bạn thực hiện vòng lặp nhé, mỗi lần lặp sẽ thay đổi mã nhân viên 1 lần để nhập vào nhé.

Vỗ tay vỗ tay
Thanh Thanh Huyền 13:03 - Mar 16, 2021

Em đã thực hiện để in phiếu lương

Tuy nhiên mỗi vòng lặp lại cần thực hiện 1 thao tác lệnh in

Em muốn chỉ cần thực hiện 1 thao tác in cho hàng loạt ạ


Vỗ tay vỗ tay
Thanh Thanh Huyền 13:03 - Mar 16, 2021
Chào bạn bạn phải thay đổi cái mã nhân viên để lấy được  đúng mã nhân viên bằng cách nối chuỗi dạng "NV00"&i trong vòng lặp nhé.
Vỗ tay vỗ tay
Thanh Thanh Huyền 14:03 - Mar 16, 2021

Việc in em đã viết xong rồi ạ

Ví dụ em muốn in 10 người (mỗi người 1 trang) thì lệnh sẽ hiện thị 10 lần 1 trang

Nếu em muốn hiển thị 10 người vào 1 lệnh PrintPreview 10 trang thì làm như nào ạ

Vỗ tay vỗ tay
Thanh Thanh Huyền 14:03 - Mar 16, 2021

Chào bạn, bạn đọc bài này

https://docs.microsoft.com/en-us/offi...

phần Copies là số lượng bản in của bạn nhé.

Vỗ tay vỗ tay
Thanh Thanh Huyền 14:03 - Mar 16, 2021

Em đặt lệnh in theo số thứ tự i theo câu lệnh

Mã nhân viên sẽ chạy theo thứ tự i này ạ

Vỗ tay vỗ tay
Thanh Thanh Huyền 14:03 - Mar 16, 2021

Chào bạn trong phần này

expression.PrintOut (FromToCopiesPreviewActivePrinterPrintToFileCollatePrToFileNameIgnorePrintAreas)

có phần  Copies là số lần lặp lại của bạn ghi và Collate là tuỳ chọn in nhiều bản 1 lần hay 1 bản một lần, bạn tuỳ chỉnh tham số nhé.

Vỗ tay vỗ tay
Thanh Thanh Huyền 14:03 - Mar 16, 2021
không thể dùng cho PrintPreview ạ
Vỗ tay vỗ tay
Thanh Thanh Huyền 14:03 - Mar 16, 2021

"Pages" in the descriptions of From and To refers to printed pages, not overall pages in the sheet or workbook.

Đây là sử dụng cho chọn in từ trang nào đến trang nào chứ không gộp các phiếu lương chạy theo vòng lặp vào 1 sheet nhiều trang để in ạ

Vỗ tay vỗ tay
Thanh Thanh Huyền 14:03 - Mar 16, 2021

Chào bạn bạn xem code dưới nhé

ActiveSheet.PrintOut ActivePrinter:=tên máy in, copies:=số lượng bản in, collate:=true/false
Vỗ tay vỗ tay
Thanh Thanh Huyền 15:03 - Mar 16, 2021

Em không thể xử lý được ạ

Nhờ thầy giúp em phần code này ạ

Sub InPhieuLuong()

Dim i As Integer

    Dim BatDau As Integer

    Dim KetThuc As Integer

    BatDau = Sheet2.Range("Ak5").Value

    KetThuc = Sheet2.Range("AM5").Value

    For i = BatDau To KetThuc

        Sheet2.Range("AF1").Value = i

        Sheet2.PrintPreview

    Next i

  ' In phieu luong hang loat

    ActiveSheet.PrintOut ActivePrinter:="RICOH Aficio MP 7001 PCL 6", copies:=1, collate:=True / False

End Sub


Vỗ tay vỗ tay
Thanh Thanh Huyền 16:03 - Mar 16, 2021

Chào bạn bạn thay sau nhé:

ActiveSheet.PrintOut ActivePrinter:="RICOH Aficio MP 7001 PCL 6", copies:=số lượng file muốn in, collate:=True
Vỗ tay vỗ tay
Thanh Thanh Huyền 16:03 - Mar 16, 2021

Em đã thử lệnh này chỉ in ra phiếu lương biến i cuối cùng và không cho phép xem

Nếu muốn xem và lựa chọn properties của máy in để điều chỉnh in, khổ giấy thì sao ạ

Vỗ tay vỗ tay
Thanh Thanh Huyền 17:03 - Mar 16, 2021

Chào bạn, bạn cần tuỳ chỉnh trước khi in nhé.

Vỗ tay vỗ tay
Thanh Thanh Huyền 17:03 - Mar 16, 2021

Vâng ạ

Thầy hướng dẫn em code để gửi mail bằng outlook cho từng trường hợp vòng lặp i với ạ

Vỗ tay vỗ tay
Thanh Thanh Huyền 17:03 - Mar 16, 2021

Chào bạn bạn cần xuất file ra trước rồi add vào Outlook nhé bạn chỉ cần dùng vòng lặp và tham khảo bài viết sau:

https://gitiho.com/blog/huong-dan-gui...

Vỗ tay vỗ tay
Thanh Thanh Huyền 18:03 - Mar 16, 2021

Em không  đính kèm file gửi cùng được ạ


Vỗ tay vỗ tay
Thanh Thanh Huyền 08:03 - Mar 17, 2021

Chào bạn bạn xem đã đúng đường đẫn chưa ạ?

Vỗ tay vỗ tay
Thanh Thanh Huyền 10:03 - Mar 17, 2021

Em xem hướng dẫn từ đây nhưng không thể xử lý đính kèm file được ạ

https://gitiho.com/blog/huong-dan-gui...

Email đã gửi được nhưng trong mail không có file 

Nhờ thầy xem lại code giúp em ạ

Sub GuiEmail()

Dim FileName As String

    Dim FileFormatNum As Long

    Dim WB As Workbook

    Dim OutApp As Object

    Dim OutMail As Object

    FileName = WB.FullName

    Dim i As Integer

    Dim BatDau As Integer

    Dim KetThuc As Integer

    BatDau = Sheet2.Range("Ak5").Value

    KetThuc = Sheet2.Range("AM5").Value

    For i = BatDau To KetThuc

    Sheet2.Range("AF1").Value = i

    xIndex = VBA.InStrRev(FileName, ".")

If xIndex > 1 Then FileName = VBA.Left(FileName, xIndex - 1)

FileName = FileName & "_" + ActiveSheet.Name & ".pdf"

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=FileName

    Set OutApp = CreateObject("Outlook.Application")

    Set OutMail = OutApp.CreateItem(olMailItem)

    On Error Resume Next

    With OutMail

        .To = Trim(Sheet2.Range("AK3").Value)

        .cc = ""

        .Subject = "PHIEU LUONG 11/2020"

        .Body = "Vui long kiem tra thong tin luong"

        .Attachments.Add FileName

        '.Display

        .Send

   End With

    On Error GoTo 0

    Set OutMail = Nothing

    Set OutApp = Nothing

    With Application

        .ScreenUpdating = True

        .EnableEvents = True

    End With

     MsgBox ("Send Mail Completed!")

Next i

End Sub

Vỗ tay vỗ tay
Thanh Thanh Huyền 11:03 - Mar 17, 2021

nghĩa là phần xuất ra pdf, bạn kiểm tra đã có file pdf đã xuất ra chưa?

Vỗ tay vỗ tay
Thanh Thanh Huyền 12:03 - Mar 17, 2021

vâng ạ phần này đang lỗi, em không xử lý được

Thầy hỗ trợ em ạ


Vỗ tay vỗ tay
Thanh Thanh Huyền 13:03 - Mar 17, 2021

Chào bạn phần đầu tiên bạn cần xuất file ra pdf đã, rồi để trong một thư mục có tên xác định nhé.

Vỗ tay vỗ tay
Câu hỏi liên quan
@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội