Page 1 of 1
code save เป็นแบบ pdf
Posted: Tue Feb 15, 2011 6:25 pm
by ANUSARA
ต้องการ code ที่จำกำหนดให้ ปุ่ม button ที่ให้กดเพื่อ save เป็นแบบ pdf
แต่ต้องการให้ save ไปเฉพาะ area A1:K40 ได้ไหมคะ
เพราะนอกพื้นที่ที่กำหนดจะเป็น ส่วนฐานข้อมูลไม่ต้องการให้ผู้ใช้เห็นค่ะ
และการ save sheet ไหน มันจะ save เฉพาะของ sheet นั้น ใช่ไหมคะ จะไม่ save ไปทั้งหมดทุก sheetที่มี
ขอบคุณมากค่ะ
ได้แนบไฟล์ตัวอย่างมาด้วยค่ะ
Re: code save เป็นแบบ pdf
Posted: Tue Feb 15, 2011 6:54 pm
by snasui

คำตอบจาก Link ตามด้านล่างได้ผลหรือไม่ อย่างไรครับ
http://www.snasui.com/viewtopic.php?p=4302#p4302
http://www.snasui.com/viewtopic.php?f=3 ... 4365#p4365
http://www.snasui.com/viewtopic.php?f=3 ... 4428#p4428
ช่วยแจ้งในกระทู้เดิมเพื่อเป็นประโยชน์แ่ก่เพื่อน ๆ ด้วยนะครับ
สำหรับที่ถามมานั้นลองเขียน Code ตามด้านล่างครับ
Code: Select all
Sub SaveAsPDF()
Dim sv As String
sv = "D:\code SAVE as PDF.pdf" '<== Path and file name
ActiveSheet.PageSetup.PrintArea = "$B$1:$K$40"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sv
End Sub
Re: code save เป็นแบบ pdf
Posted: Tue Feb 15, 2011 9:40 pm
by ANUSARA
1 เมื่อกด SAVE แล้ว เปิดดูมันแสดงเป็น 2 หน้าค่ะ
ถ้าจะกำหนดขอบเขตให้มันอยู่ในหน้าเดียวได้ไหมคะ
2 ที่ให้ codeมา ตั้งชื่อไฟล์เป็น D:\code SAVE as PDF.pdf
ถ้าอยากให้เมื่อ save ครั้งต่อไปไม่ใช่ชื่อเดิม หรือให้ผู้ใช้ตั้งชื่อได้เองค่ะ
ไม่อย่างนั้นกด SAVE แล้วจะไปทับไฟล์เดิมที่ผู้ใช้บันทึกไว้ค่ะ
Re: code save เป็นแบบ pdf
Posted: Wed Feb 16, 2011 2:03 pm
by snasui

ลองตาม Code ด้านล่างครับ
Code: Select all
Sub Macro1()
Dim sv As String
sv = Application.GetSaveAsFilename(filefilter:="PDF Files (*.pdf), *.pdf")
With ActiveSheet.PageSetup
.PrintArea = "$B$1:$K$40"
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sv
End Sub
Re: code save เป็นแบบ pdf
Posted: Wed Feb 16, 2011 4:09 pm
by ANUSARA
code ที่ให้มาเอาไปวางที่ sheet1 เลยหรอคะ
พอมากดที่ปุ่ม SAVE as PDF แล้วก็ไม่มีอะไรเกิดขึ้นค่ะ
รบกวนแนะนำด้วยนะคะ
ขอบคุณนะคะ
Re: code save เป็นแบบ pdf
Posted: Wed Feb 16, 2011 6:54 pm
by snasui

ที่ให้ไปเป็น Code ที่อยู่ใน Module ปกติครับ การจะเรียกใช้งานถ้าไม่เรียกผ่านเมนูลัดคือ Alt+F8 อีกวิธีหนึ่งคือ Assigned Macro ให้กับ Object ก่อนครับ ดูวิธีการ Assignde Macro ให้กับ Object ที่นี่ครับ
http://www.snasui.com/viewtopic.php?p=3280#p3280
กรณีเรียกใช้ Code ผ่าน ActiveX Control ผมถือว่าคุณใช้เป็นอยู่แล้ว เพราะหลายคำถามสร้าง ActiveX Control มาใช้กับ Code ได้เองแล้ว จึงควรทราบว่าเมื่อคลิก ActiveX Control แล้วไปเรียกใช้ Code VBA ได้อย่างไร
Re: code save เป็นแบบ pdf
Posted: Sat Feb 19, 2011 12:38 pm
by ANUSARA
ขอบคุณค่ะ เข้าใจแล้วค่ะ