สอบถามปัญหา CodeVB การบันทึกไฟล์
Posted: Thu Mar 31, 2022 10:39 am
จากไฟล์ที่แนบมา
จะทำการคัดลอกข้อมูลที่ชีท ExportGrade แล้วไปเซฟเป็นไฟล์ใหม่ (.xlsx)
จาก Code
1. ผมมีปัญหาว่าทุกครั้งที่ส่งออกไฟล์ไปถึงจะตั้งชื่อไฟล์อะไรก็ตาม จะกลายเป็นว่าจะได้ไฟล์ชื่อ 56.xlsx เสมอ
ไม่ทราบว่า บรรทัดไหนของ Code ที่สั่งให้ตั้งชื่อไฟล์เป็น 56.xlsx และจะแก้ไขอย่างไร
2.กรณีบันทึกแล้วมีไฟล์ชื่อเดียวกันอยู่ หากตอบ (ใช่) เพื่อบันทึกซ้ำจะไม่มีปัญหา แต่ถ้าหากตอบ (ไม่ใช่) หรือ (ยกเลิก) จะมีปัญหา
กรณีนี้จะแก้ไขอย่างไร
จะทำการคัดลอกข้อมูลที่ชีท ExportGrade แล้วไปเซฟเป็นไฟล์ใหม่ (.xlsx)
จาก Code
Code: Select all
Sub export01()
Dim FileSaveName As String
If MsgBox("คุณต้องการส่งออกผลการเรียน ใช่หรือไม่ ?", 36, "ยืนยันการส่งออกผลการเรียน") = 6 Then
Worksheets("ExportGrade").Range("C2:P50").Copy
Workbooks.Add
Range("A1").Select
Selection.PasteSpecial xlPasteValues
Application.CutCopyMode = False
Call AutoFit
FileSaveName = Application.GetSaveAsFilename(fileFilter:="Excel File (*.xlsx), *.xlsx")
If FileSaveName = "False" Then
MsgBox "คุณไม่ได้บันทึกไฟล์ส่งออก โปรดดำเนินการใหม่อีกครั้ง"
Application.DisplayAlerts = False
ActiveWindow.Close
Application.DisplayAlerts = True
Exit Sub
End If
If FileSaveName <> "" Then
ActiveWorkbook.SaveAs Filename:=xlExcel8, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
False, CreateBackup:=False
MsgBox "ไฟล์ส่งออกถูกบันทึกใน " & FileSaveName
End If
Application.DisplayAlerts = False
ActiveWindow.Close
Range("A7").Select
Application.DisplayAlerts = True
End If
End Sub
ไม่ทราบว่า บรรทัดไหนของ Code ที่สั่งให้ตั้งชื่อไฟล์เป็น 56.xlsx และจะแก้ไขอย่างไร
2.กรณีบันทึกแล้วมีไฟล์ชื่อเดียวกันอยู่ หากตอบ (ใช่) เพื่อบันทึกซ้ำจะไม่มีปัญหา แต่ถ้าหากตอบ (ไม่ใช่) หรือ (ยกเลิก) จะมีปัญหา
กรณีนี้จะแก้ไขอย่างไร