snasui.com ยินดีต้อนรับ ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
Sub MacroReportSaveAs()
Dim fileSaveName As String
fileSaveName = Application.GetSaveAsFilename(fileFilter:="Excel Files (*.xls), *.xls")
ActiveWorkbook.SaveAs Filename:=fileSaveName
If fileSaveName <> "False" Then
MsgBox " Save as " & fileSaveName & " และ คลิกปุ่ม OK เพื่อปิดไฟล์นี้ ", vbExclamation, " ชื่อไฟล์และสถานที่จัดเก็บไฟล์"
End If
Range("A1").Select
ActiveWorkbook.Close ' สั่งปิดไฟล์ที่ save
End Sub
จากโคดด้านบน สั่ง Save ได้ถูกต้อง
แต่เมื่อเราสั่ง Cancle ตามภาพด้านล่าง
เครื่องจะสั่งให้ Save อัตโนมัต โดยใช้ชื่อ "False.xls"
qqq.png (49.64 KiB) Viewed 230 times
ความต้องการคือ เมื่อเราสั่ง Cancle เครื่องจะไม่ Save และต้องปิดไฟล์ด้วย
Sub MacroReportSaveAs()
Dim fileSaveName As String
fileSaveName = Application.GetSaveAsFilename(fileFilter:="Excel Files (*.xls), *.xls")
If fileSaveName <> "False" Then
ActiveWorkbook.SaveAs Filename:=fileSaveName
MsgBox " Save as " & fileSaveName & " และ คลิกปุ่ม OK เพื่อปิดไฟล์นี้ ", vbExclamation, " ชื่อไฟล์และสถานที่จัดเก็บไฟล์"
End If
Range("A1").Select
ActiveWorkbook.Close False' สั่งปิดไฟล์ที่ save
End Sub