Page 1 of 1

Code อันเดียวกัน ทำไมจึงใช้ไม่ได้กับทุกเครื่องคะ

Posted: Tue Feb 03, 2015 7:33 pm
by Chamai
สวัสดีค่ะ มีข้อสงสัยนิดนึงค่ะ คือเป็นโค๊ดให้บันทึกเป็นไฟล์ PDF โดยตั้งชื่อตามเซลต่างๆ ปัญหาอยู่ที่ พอไปทำกับเครื่องอื่น ไม่สามารถใช้ได้ค่ะ Error เป็นไฮไลท์สีเหลือง ตั้งแต่ข้อความ ActiveSheet ... ทั้งที่ใช้วินโดวส์ ตัวเดียวกัน ซอฟแวร์ 2010,Adobe Reader เหมือนกัน แต่ไม่สามารถรันได้
ลองเอามาใช้กับคอมที่บ้าน เป็นเวอร์ชั่น 2007 ก็ใช้ได้นะคะ แต่ต้องติดตั้ง Add In ที่ชื่อ SAVE AS PDF ก่อน แต่ว่าเวอร์ชั่น 2010 มีอยู่แล้วไม่ใช่หรือคะ ทีนี้เลยงงกันไปใหญ่เลยค่ะ ท่านใดรู้ขอคำแนะนำด้วยค่ะ

อันนี้ ที่ใช้ค่ะ
Private Sub CommandButton1_Click()
ActiveWindow.ScrollRow = 1

Dim Path1 As String
Dim Path2 As String
Dim FileName1 As String
Dim FileName2 As String
Dim FileName3 As String

Sheets("Report.").Select
Path2 = "D:\Certificate Backup\Certificate\"
FileName1 = Range("u1")
FileName2 = Range("l8")
FileName3 = Range("ao10")
ActiveSheet.PageSetup.BlackAndWhite = False
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Path2 & FileName1 & "_" & FileName2 & "(" & FileName3 & ")" & ".pdf", _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True

End Sub

Re: Code อันเดียวกัน ทำไมจึงใช้ไม่ได้กับทุกเครื่องคะ

Posted: Tue Feb 03, 2015 7:51 pm
by bank9597
ขอไฟล์มาดูหน่อยครับ

Re: Code อันเดียวกัน ทำไมจึงใช้ไม่ได้กับทุกเครื่องคะ

Posted: Tue Feb 03, 2015 8:23 pm
by Chamai
นี่ค่ะ

Re: Code อันเดียวกัน ทำไมจึงใช้ไม่ได้กับทุกเครื่องคะ

Posted: Tue Feb 03, 2015 9:49 pm
by snasui
:D ไม่ทราบว่าใช้กับ Version 2010 แล้วเกิดปัญหาใดครับ :?:

Re: Code อันเดียวกัน ทำไมจึงใช้ไม่ได้กับทุกเครื่องคะ

Posted: Tue Feb 03, 2015 10:43 pm
by Chamai
อาจจะถามงงนิดนึงนะคะ ต้องการจะถามว่า ทำไมเวอร์ชัน2010 ถึงใช้ได้เป็นบางเครื่องค่ะ ในขณะที่ 2007 ต้องลง Add In ก่อน จึงจะใช้ได้ค่ะ แล้วต้องทำยังไง จึงจะสามารถแก้ไข Error นี้ได้ค่ะ

Re: Code อันเดียวกัน ทำไมจึงใช้ไม่ได้กับทุกเครื่องคะ

Posted: Tue Feb 03, 2015 11:03 pm
by snasui
:D ลองสังเกตว่าเครื่องที่เปิดไม่ได้นั้นมีโปรแกรมที่ใช้เปิด PDF ไฟล์หรือไม่ครับ

Re: Code อันเดียวกัน ทำไมจึงใช้ไม่ได้กับทุกเครื่องคะ

Posted: Tue Feb 03, 2015 11:07 pm
by bank9597
ลองเปลี่ยนชื่อ Path ใหม่ครับ

ผมได้ทำการทดสอบแล้ว ติดเออร์เรอร์เช่นกัน
แต่พอเปลี่ยน Path ใหม่ก็สามารถใช้งานได้ปกติครับ

Code: Select all

Private Sub CommandButton1_Click()
ActiveWindow.ScrollRow = 1

Dim Path1 As String
Dim Path2 As String
Dim FileName1 As String
Dim FileName2 As String
Dim FileName3 As String

Sheets("Report CAL.").Select
Path2 = "C:\Users\anuruk\Desktop\"
FileName1 = Range("u1")
FileName2 = Range("l8")
FileName3 = Range("ao10")
ActiveSheet.PageSetup.BlackAndWhite = False
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Path2 & FileName1 & "_" & FileName2 & "(" & FileName3 & ")" & ".pdf", _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True


Path1 = "C:\Users\anuruk\Desktop\"
FileName1 = Range("u1")
FileName2 = Range("l8")
FileName3 = Range("ao10")
ActiveSheet.SaveAs Filename:=Path1 & FileName1 & "_" & FileName2 & ".xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

End Sub

Re: Code อันเดียวกัน ทำไมจึงใช้ไม่ได้กับทุกเครื่องคะ

Posted: Wed Feb 04, 2015 8:42 am
by menem
ลองแก้จาก
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= Path2 & FileName1 & "_" & FileName2 & "(" & FileName3 & ")" & ".pdf", _


เป็น
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="'" & Path2 & FileName1 & "_" & FileName2 & "(" & FileName3 & ")" & ".pdf'", _

( เพิ่ม "'" & เข้าไปด้านหน้า และเพิ่ม ' ท้ายนามสกุล .pdf )

Re: Code อันเดียวกัน ทำไมจึงใช้ไม่ได้กับทุกเครื่องคะ

Posted: Wed Feb 04, 2015 9:04 pm
by Chamai
คุณ bank9597 และคุณ menem ลองแก้ไขตามแล้ว Error เหมือนเดิม เป๊ะเลยค่ะ
เครื่องที่เปิดไม่ได้ มีโปรแกรม PDF ค่ะ เป็น Adobe Reader เหมือนกันทุกเครื่อง เป็นไปได้มั้ยคะ ว่าต้องติดตั้ง add in เพิ่ม

Re: Code อันเดียวกัน ทำไมจึงใช้ไม่ได้กับทุกเครื่องคะ

Posted: Wed Feb 04, 2015 9:11 pm
by snasui
:D ลองปรับ OpenAfterPublish:=True ให้เป็น OpenAfterPublish:=False ดูว่าติด Error อีกหรือไม่ครับ

เนื่องจากเป็นการกำหนดให้เปิด PDF File ขึ้นมาหลังจาก Export แล้ว ซึ่งไม่จำเป็นต้องเปิดในขณะนั้น

Re: Code อันเดียวกัน ทำไมจึงใช้ไม่ได้กับทุกเครื่องคะ

Posted: Wed Feb 04, 2015 9:42 pm
by Chamai
ขอบคุณสำหรับคำแนะนำค่ะ ได้ผลยังไง เดี๋ยวจะแจ้งอีกทีนะคะ

Re: Code อันเดียวกัน ทำไมจึงใช้ไม่ได้กับทุกเครื่องคะ

Posted: Thu Feb 05, 2015 10:17 pm
by Chamai
ยังไมไ่ด้เหมือนเดิมค่ะ ท้อซะแล้ว ใช้ได้ไม่เหมือนกันทุกเครื่อง คงต้องหาวิธีกันต่อไป ขอบคุณทุกท่านค่ะ

Re: Code อันเดียวกัน ทำไมจึงใช้ไม่ได้กับทุกเครื่องคะ

Posted: Thu Feb 05, 2015 10:24 pm
by snasui
:D ลองดูตัวอย่าง Code จากที่นี่ครับ http://www.contextures.com/excelvbapdf.html