Page 1 of 1
ปัญหาจากการใช้โค๊ด VBA save as ไฟล์ ใน excel 2007
Posted: Sun Apr 08, 2012 3:37 pm
by sutham
เมื่อผมได้ลองใช้โค๊ด save as ไฟล์ โดยการสร้างปุ่ม save ก็ทำงานได้แต่ พอปิดหน้าต่าง excel แล้วเปิดไฟล์ที่บันทึกได้ กลับมีกล่องโต้ตอบขึ้นมาทุกครั้ง จะแก้ไขปัญหานี้ได้อย่างไรครับ
ขอบคุณครับ
Re: ปัญหาจากการใช้โค๊ด VBA save as ไฟล์ ใน excel 2007
Posted: Sun Apr 08, 2012 4:50 pm
by snasui

ลองกำหนด FileFormat เข้าไปด้วยตามด้านล่างครับ
Code: Select all
Sub save_as()
Dim file_name As Variant
file_name = Application.GetSaveAsFilename( _
fileFilter:="Excel 97-2003 Workbook (*.xls), *.xls, All Files (*.*), *.*")
If file_name = False Then Exit Sub
If LCase$(Right$(file_name, 4)) <> ".xls" Then
file_name = file_name & ".xls"
End If
ActiveWorkbook.SaveAs Filename:=file_name, FileFormat:=xlExcel8
End Sub
Re: ปัญหาจากการใช้โค๊ด VBA save as ไฟล์ ใน excel 2007
Posted: Mon Apr 09, 2012 8:20 am
by songsug
ใน Excel 2007 การจะเขียนไฟล์ที่มี Macro อยู่นั้น คุณต้องทำการ Save Type ของ File เป็น Excel Macro - Enabled Workbook ก่อนครับไฟล์ถึงจะสมบูรณ์ ไม่เช่นนั้นทุกครั้งที่เปิดไฟล์ขึ้นมา คุณต้องไปเปิดการใช้งานทุกๆครั้งครับ หรือถ้าไฟล์นั้นคุณเปลี่ยน TYPE เรียบร้อยแล้ว ก็แสดงว่าคุณยังไมได้ตั้งค่าความปลอดภัยของ macro ใน Excel 2007 ของคุณ
Re: ปัญหาจากการใช้โค๊ด VBA save as ไฟล์ ใน excel 2007
Posted: Mon Apr 09, 2012 8:27 am
by snasui
songsug wrote:ใน Excel 2007 การจะเขียนไฟล์ที่มี Macro อยู่นั้น คุณต้องทำการ Save Type ของ File เป็น Excel Macro - Enabled Workbook ก่อนครับไฟล์ถึงจะสมบูรณ์ ไม่เช่นนั้นทุกครั้งที่เปิดไฟล์ขึ้นมา

มาช่วยเสริมครับ กรณีต้องการ Save เป็น 2007 ขึ้นไป หากไม่ Save เป็นนามสกุล .xlsm จะไม่ติด Code VBA หรือ Macro ไปด้วยครับ เมื่อไม่มี Macro จะไม่มีการฟ้องให้ Enable Macro ครับ
