By ygoyal578@gmail.com ในวันศุกร์ที่ 29 พฤษภาคม 2020
โพสต์ใน Excel
ตอบกลับ 1
การกดไลค์ 0
เข้าชม 8K
โหวต 0
สวัสดีชาวเฟรนด์
ฉันกำลังมองหาวิธีแก้ปัญหาที่
  1. ผู้ใช้สามารถเลือกไฟล์ได้[/*]
  2. ขึ้นอยู่กับไฟล์ที่เลือก การดำเนินการเพิ่มเติมสามารถทำได้ในไฟล์นั้น[/*]
  3. ตามความต้องการของฉัน ฉันได้ลองเขียนโค้ดแล้ว แต่เมื่อไฟล์เปิด แมโครจะไม่ทำงานหลังจากนั้น กรุณาค้นหาด้านล่างรหัส[/*]
การสร้างไฟล์ย่อย ()
Dim FolderPath เป็นสตริง
หรี่ชื่อไฟล์เป็น Variant
หนังสือเปิดติ่มซำเป็นสมุดงาน
Dim file_name เป็น Variant
Dim bFileSaveAs เป็นบูลีน

Application.ScreenUpdating = เท็จ
ชื่อไฟล์ = Application.GetOpenFilename(Title:="Select Configuration Template")
ถ้าชื่อไฟล์ <> เป็นเท็จ แล้ว
ตั้ง openbook = Application.Workbooks.Open (ชื่อไฟล์)
สมุดงานนี้เปิดใช้งาน
openbook.Worksheets("User Master")). เปิดใช้งาน
ถ้า Range("C6") <> "" แล้ว
ActiveSheet.Range("B6:T") คัดลอก
สมุดงานเพิ่ม
แผ่นงาน("User Master")).Add
ช่วง("A1") เลือก
ActiveSheet วาง
อื่น
ช่วง("A1:XFD1048576") เลือก
การเลือกคัดลอก
สมุดงานเพิ่ม
แผ่นงาน("User Master")).Add
ช่วง("A1") เลือก
ActiveSheet วาง
End If
bFileSaveAs = Application.Dialogs(xlDialogSaveAs).แสดง
    ถ้าไม่ใช่ bFileSaveAs แสดงว่า MsgBox "ผู้ใช้ยกเลิก", ​​vbCritical
ActiveWorkbook ปิด
แผ่นงาน("ชุมชน") เปิดใช้งาน
ช่วง("A1:G1") เลือก
ช่วง(Selection, Selection.End(xlDown)).Copy
สมุดงานเพิ่ม
ActiveSheet วาง
bFileSaveAs = Application.Dialogs(xlDialogSaveAs).แสดง
    ถ้าไม่ใช่ bFileSaveAs แสดงว่า MsgBox "ผู้ใช้ยกเลิก", ​​vbCritical
ActiveWorkbook ปิด
แผ่นงาน("ตัวติดตั้งเว็บ") เปิดใช้งาน
ช่วง("A1:ZZ1") เลือก
ช่วง(Selection, Selection.End(xlDown)).Copy
สมุดงานเพิ่ม
แผ่นงาน("เชิญผู้ใช้") เพิ่ม
ช่วง("A1") เลือก
ActiveSheet วาง
bFileSaveAs = Application.Dialogs(xlDialogSaveAs).แสดง
    ถ้าไม่ใช่ bFileSaveAs แสดงว่า MsgBox "ผู้ใช้ยกเลิก", ​​vbCritical
ActiveWorkbook ปิด
อื่น
MsgBox "ผู้ใช้ยกเลิกการดำเนินการ"
End If
ย่อยสิ้นสุด
คุณสามารถทำได้ง่ายๆ
เพิ่มเนื้อหาต่อไปนี้ในไฟล์ VBS (เช่น example.vbs) นี่เป็นเพียงไฟล์ข้อความที่คุณสามารถเขียนโดยใช้ Notepad:
'ควรวางโค้ดในไฟล์ .vbs
ตั้งค่า objExcel = CreateObject("Excel.Application")
objExcel.Application.Run "'C:\path\to\my\excel\file\myExcelMacroFile.xlsm'!MyModule.MyFunctionName"
objExcel.DisplayAlerts = เท็จ
objExcel.Application.ออก
ตั้งค่า objExcel = Nothing
จากนั้นคุณสามารถคลิกสองครั้งที่ไฟล์ VBS เพื่อดำเนินการได้
·
3 ปีที่ผ่านมา
·
0 ชอบ
·
0 คะแนน
·
0 คอมเมนต์
·
ดูโพสต์แบบเต็ม