#3
Post
by Aekasit » Sat Jun 08, 2013 2:40 pm
ผมได้ลองเขียน code เพื่อสั่งพิมพ์เอกสารให้กับทีมงานของผม แต่ติดตรงที่ report อื่นๆเวลาสั่งพิมพ์จะต้องใช้เพียงหน้าเดียวเท่านั้น แต่สำหรับ report นี้จำเป็นต้องสั่งพิมพ์หน้า-หลัง ซึ่งโดยปกติทุกครั้งที่พิมพ์ report นี้ จะต้องเข้าไป set ก่อนสั่งพิมพ์ ที่ 2 sided print --> Flip on long edge และ set กับเป็น 1 sided เช่นเดิมเมื่อพิมพ์เสร็จ ทำให้ต้องใช้เวลาในการทำงานเพิ่มขึ้น โดยลักษณะงานค่อนข้างเยอะมาก จึงจำเป็นต้องหาวิธีที่ทำให้การทำงานเร็วขึ้นครับ
สำหรับ Code ที่ผมลองเขียนไว้เวลาสั่งพิมพ์ ดังนี้ครับ แต่หาวิธีสำหรับสั่งพิมพ์หน้า-หลังไม่ได้จริงๆครับ รบกวนด้วย ขอบคุณมากครับ
Private Sub Print_From()
Dim Answer, MyNote As String
If Sheets("Control_Document").Cells(2, 9).Value = "Load Double" Then
MsgBox "Load Double", vbOKOnly + vbCritical, "Load Double"
Else
If Sheets("Control_Document").Cells(2, 18).Value = "PRINT" Then
MyNote = "¤Ø³µéͧ¡ÒÃÊÑè§¾ÔÁ¾ì㺤Ǻ¤ØÁ¡ÒÃÊè§àÍ¡ÊÒÃãªèËÃ×ÍäÁè"
Answer = MsgBox(MyNote, vbYesNoCancel + vbInformation, "Print Control Document")
If Answer = vbYes Then
With ActiveSheet.PageSetup
.Draft = False
End With
Input_Data
Sheets("Control_Document").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ClearData
With ActiveSheet.PageSetup
.Draft = True
End With
ActiveWorkbook.Save
ElseIf Answer = vbNo Then
MyNote = "Cancel Print ECD Loscam"
Answer = MsgBox(MyNote, vbCritical + vbOKOnly, "Data Entry - Cancel Print")
End If
Else
MyNote = "Pls Check Print Mode"
Answer = MsgBox(MyNote, vbOKOnly + vbCritical, "Print Error")
End If
End If
End Sub