Note: The other languages of the website are Google-translated. Back to English

วิธีบังคับให้ผู้ใช้บันทึกเป็นสมุดงานที่เปิดใช้งานมาโคร

เมื่อคุณบันทึกสมุดงาน Excel สมุดงานนั้นจะถูกบันทึกเป็นรูปแบบไฟล์ xlsx ตามค่าเริ่มต้นและรูปแบบไฟล์นี้จะกำจัดรหัสมาโครออกจากสมุดงานหากมีหลายรหัส ในการเก็บรหัสคุณควรบันทึกเวิร์กบุ๊กเป็นรูปแบบ Excel Macro-Enable Workbook คุณจะบังคับให้ผู้ใช้บันทึกเป็นสมุดงานที่เปิดใช้งานมาโครได้อย่างไร

บังคับให้ผู้ใช้บันทึกเป็นสมุดงานที่เปิดใช้งานมาโครด้วยรหัส VBA


ลูกศรสีฟ้าฟองขวา บังคับให้ผู้ใช้บันทึกเป็นสมุดงานที่เปิดใช้งานมาโครด้วยรหัส VBA

หากต้องการบันทึกสมุดงานเป็นสมุดงานที่เปิดใช้งานแมโครโดยค่าเริ่มต้นรหัส VBA ต่อไปนี้อาจช่วยคุณได้โปรดดำเนินการดังนี้:

1. กด ALT + F11 คีย์เพื่อเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

2. จากนั้นดับเบิลคลิก สมุดงานนี้ ภายใต้ โครงการ VBA เพื่อเปิดโมดูลเปล่าใหม่จากนั้นคัดลอกและวางโค้ดต่อไปนี้ลงในโมดูล:

รหัส VBA: บังคับให้บันทึกสมุดงานเป็นสมุดงานที่เปิดใช้งานแมโครโดยค่าเริ่มต้น:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'Updateby Extendoffice
Dim xFileName As String
If SaveAsUI <> False Then
    Cancel = True
    xFileName = Application.GetSaveAsFilename(, "Excel Macro-Enabled Workbook (*.xlsm), *.xlsm", , "Save As xlsm file")
    If xFileName <> "False" Then
      Application.EnableEvents = False
      ActiveWorkbook.SaveAs Filename:=xFileName, FileFormat:=xlOpenXMLWorkbookMacroEnabled
      Application.EnableEvents = True
    Else
      MsgBox "Action Cancelled"
      Cancel = True
      Exit Sub
    End If
End If
End Sub

doc force บันทึกเป็น xlsm 1

3. จากนั้นบันทึกและปิดหน้าต่างรหัสนี้นับจากนี้ไปเมื่อผู้ใช้บันทึกเป็นสมุดงานนี้ระบบจะบันทึกเป็น สมุดงานที่เปิดใช้งานแมโคร Excel โดยค่าเริ่มต้นตามภาพหน้าจอต่อไปนี้:

doc force บันทึกเป็น xlsm 2


เครื่องมือเพิ่มประสิทธิภาพการทำงานในสำนักงานที่ดีที่สุด

Kutools สำหรับ Excel แก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%

  • นำมาใช้ใหม่: ใส่อย่างรวดเร็ว สูตรที่ซับซ้อนแผนภูมิ และสิ่งที่คุณเคยใช้มาก่อน เข้ารหัสเซลล์ ด้วยรหัสผ่าน; สร้างรายชื่อผู้รับจดหมาย และส่งอีเมล ...
  • ซุปเปอร์ฟอร์มูล่าบาร์ (แก้ไขข้อความและสูตรหลายบรรทัดได้อย่างง่ายดาย); การอ่านเค้าโครง (อ่านและแก้ไขเซลล์จำนวนมากได้อย่างง่ายดาย); วางลงในช่วงที่กรองแล้ว...
  • ผสานเซลล์ / แถว / คอลัมน์ โดยไม่สูญเสียข้อมูล แยกเนื้อหาของเซลล์ รวมแถว / คอลัมน์ที่ซ้ำกัน... ป้องกันเซลล์ซ้ำ; เปรียบเทียบช่วง...
  • เลือกซ้ำหรือไม่ซ้ำ แถว; เลือกแถวว่าง (เซลล์ทั้งหมดว่างเปล่า); Super Find และ Fuzzy Find ในสมุดงานจำนวนมาก สุ่มเลือก ...
  • สำเนาถูกต้อง หลายเซลล์โดยไม่เปลี่ยนการอ้างอิงสูตร สร้างการอ้างอิงอัตโนมัติ ถึงหลายแผ่น ใส่สัญลักษณ์แสดงหัวข้อย่อย, กล่องกาเครื่องหมายและอื่น ๆ ...
  • แยกข้อความ, เพิ่มข้อความ, ลบตามตำแหน่ง, ลบ Space; สร้างและพิมพ์ผลรวมย่อยของเพจ แปลงระหว่างเนื้อหาของเซลล์และความคิดเห็น...
  • ซุปเปอร์ฟิลเตอร์ (บันทึกและใช้โครงร่างตัวกรองกับแผ่นงานอื่น ๆ ); การเรียงลำดับขั้นสูง ตามเดือน / สัปดาห์ / วันความถี่และอื่น ๆ ตัวกรองพิเศษ โดยตัวหนาตัวเอียง ...
  • รวมสมุดงานและแผ่นงาน; ผสานตารางตามคอลัมน์สำคัญ แยกข้อมูลออกเป็นหลายแผ่น; Batch แปลง xls, xlsx และ PDF...
  • คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ. รองรับ Office/Excel 2007-2021 และ 365 รองรับทุกภาษา ง่ายต่อการปรับใช้ในองค์กรหรือองค์กรของคุณ คุณสมบัติเต็มรูปแบบ ทดลองใช้ฟรี 30 วัน รับประกันคืนเงินภายใน 60 วัน
kte แท็บ 201905

แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
ด้านล่าง officetab
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (11)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สิ่งนี้มีประโยชน์และใช้งานได้อย่างมีเสน่ห์ ขอบคุณ :)
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ช่วยฉันเจ็บมาก - ขอบคุณมาก
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ทำได้ดีนี่!

ช่วยฉันปวดหัวมาก! :)
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันใช้ Excel 2016 สำหรับ Mac และเมื่อฉันใช้โค้ด VBA นี้เพื่อให้ได้ "แรงบันทึกเป็น .xlsm" ฉันได้รับข้อผิดพลาดต่อไปนี้:

ข้อผิดพลาดรันไทม์ '1004':

วิธีการ 'GetSaveAsFilename' ของวัตถุ '_Application' ล้มเหลว

คำแนะนำใด ๆ ที่ใครบางคนสามารถให้คำแนะนำเกี่ยวกับข้อผิดพลาดนี้ และวิธีที่ฉันอาจต้องปรับโค้ดให้ทำงานบน Excel เวอร์ชัน Mac จะได้รับการชื่นชมอย่างมาก!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
fileformat: =52 ดีกว่าเมื่อทำเวิร์กบุ๊กที่เปิดใช้งานแมโคร fileformat:=51 เป็นสมุดงานปกติ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
รับข้อผิดพลาด 1004 ต่อไป
ใช้ Off365 2016 สำหรับ MAC มีวิธีแก้ปัญหาหรือไม่?
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีโจนาธาน
รหัสนี้ทำงานได้ดีใน Windows Office แต่ไม่ได้ทดสอบใน MAC
คุณควรค้นหารหัสสำหรับการทำงานใน MAC
ขอขอบคุณ!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
วิธีใดก็ได้ที่จะมี VBA นี้ในไฟล์เทมเพลต
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
มีวิธีใดบ้างที่จะมี VBA นี้ในไฟล์ที่เป็นประเภทไฟล์เทมเพลตจริง
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เมื่อคุณพร้อมที่จะสร้างเทมเพลต ฉันเชื่อว่าคุณต้องใช้ Immediate Window เพื่อเรียกใช้
ActiveWorkbook.SaveAs ชื่อไฟล์:="ป้อนชื่อเทมเพลตของคุณ", FileFormat:=xlOpenXMLTemplateMacroEnabled
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
โค้ด VBA ที่บังคับให้ผู้ใช้บันทึกในรูปแบบไฟล์ .xlsm ทำงานได้ดีมากสำหรับฉัน ฉันกำลังมองหาวิธีแก้ปัญหานี้มาระยะหนึ่งแล้ว ขอบคุณมากสำหรับความช่วยเหลือ!
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ

ช่องทางอื่นๆ

ลิขสิทธิ์© 2009 - wwwextendoffice.com | สงวนลิขสิทธิ์. ขับเคลื่อนโดย ExtendOffice. | แผนผังเว็บไซต์
Microsoft และโลโก้ Office เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Microsoft Corporation ในสหรัฐอเมริกาและ / หรือประเทศอื่น ๆ
ได้รับการปกป้องโดย Sectigo SSL