VBA เป็นภาษาโปรแกรมที่ใช้ในการดำเนินการต่างๆ ในไฟล์ MS Excel โดยอัตโนมัติ โดยเฉพาะอย่างยิ่ง แมโคร VBA เป็นรหัสที่ผู้ใช้กำหนด ซึ่งช่วยให้คุณเพิ่มความเร็วให้กับงานการจัดการสเปรดชีต ในบทความนี้ คุณจะได้เรียนรู้วิธีการทำงานกับแมโคร VBA ในไฟล์ Excel โดยทางโปรแกรม ในที่สุด คุณจะสามารถเพิ่มและแก้ไขแมโคร VBA ใน Excel โดยใช้ Java
ทำงานกับ Excel VBA Macros โดยใช้ Java API
ในการทำงานกับมาโคร VBA ในไฟล์ Excel เราจะใช้ Aspose.Cells for Java เป็น API การทำงานอัตโนมัติของสเปรดชีตที่มีประสิทธิภาพซึ่งช่วยให้คุณสร้าง แก้ไข และแปลงไฟล์ Excel นอกจากนี้ยังช่วยลดความยุ่งยากในการจัดการแมโคร VBA คุณสามารถ ดาวน์โหลด API หรือติดตั้งโดยใช้การกำหนดค่า Maven ต่อไปนี้
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-cells</artifactId>
<version>21.5</version>
</dependency>
เพิ่ม VBA Macros ลงในสมุดงาน Excel ใน Java
ต่อไปนี้เป็นขั้นตอนในการเพิ่มแมโคร VBA ในไฟล์ Excel ใน Java
- ก่อนอื่น ให้โหลดสมุดงานที่มีอยู่หรือสร้างใหม่โดยใช้คลาส สมุดงาน
- ดึงแผ่นงานลงในวัตถุ Worksheet โดยใช้วิธี Workbook.getWorksheets().get(index)
- เพิ่มโมดูล VBA ใหม่โดยใช้เมธอด Workbook.getVbaProject().getModules().add(Worksheet)
- รับข้อมูลอ้างอิงของโมดูลที่เพิ่มใหม่ในวัตถุ VbaModule
- ตั้งชื่อและโค้ดของโมดูลโดยใช้เมธอด VbaModule.setName() และ VbaModule.setCodes() ตามลำดับ
- สุดท้าย บันทึกสมุดงานโดยใช้เมธอด Workbook.save(string, SaveFormat.XLSM)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มแมโคร VBA ในไฟล์ Excel โดยใช้ Java
// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-cells/Aspose.Cells-for-Java
// โหลดสมุดงาน Excel
Workbook workbook = new Workbook("workbook.xlsm");
// เข้าถึงแผ่นงานแรก
Worksheet worksheet = workbook.getWorksheets().get(0);
// เพิ่มโมดูล VBA
int idx = workbook.getVbaProject().getModules().add(worksheet);
// เข้าถึงโมดูล VBA ตั้งชื่อและรหัส
VbaModule module = workbook.getVbaProject().getModules().get(idx);
module.setName("TestModule");
module.setCodes("Sub ShowMessage()" + "\r\n" + " MsgBox \"Welcome to Aspose!\"" + "\r\n" + "End Sub");
// บันทึกสมุดงาน
workbook.save("output.xlsm", SaveFormat.XLSM);
แก้ไขแมโคร VBA ในสมุดงาน Excel ใน Java
ต่อไปนี้เป็นขั้นตอนในการแก้ไขแมโคร VBA ในไฟล์ Excel โดยใช้ Java
- ขั้นแรก ให้โหลดสมุดงานที่มีอยู่โดยใช้คลาส สมุดงาน
- ดึงคอลเลกชันโมดูล VBA ในวัตถุ VbaModuleCollection โดยใช้เมธอด Workbook.getVbaProject().getModules()
- ดึงโมดูล VBA แต่ละโมดูลจากคอลเล็กชันไปยังวัตถุ VbaModule ซ้ำๆ
- อัปเดตชื่อและโค้ดของโมดูลที่ต้องการโดยใช้เมธอด VbaModule.setName() และ VbaModule.setCodes() ตามลำดับ
- สุดท้าย บันทึกสมุดงานโดยใช้เมธอด Workbook.save(string, SaveFormat.XLSM)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแก้ไขแมโคร VBA ในไฟล์ Excel โดยใช้ Java
// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-cells/Aspose.Cells-for-Java
// สร้างวัตถุสมุดงานจากไฟล์ Excel ต้นทาง
Workbook workbook = new Workbook("sample.xlsm");
// เปลี่ยนรหัสโมดูล VBA
VbaModuleCollection modules = workbook.getVbaProject().getModules();
for (int i = 0; i < modules.getCount(); i++) {
VbaModule module = modules.get(i);
String code = module.getCodes();
// แทนที่ข้อความเดิมด้วยข้อความที่แก้ไข
if (code.contains("This is test message.")) {
code = code.replace("This is test message.", "This is Aspose.Cells message.");
module.setCodes(code);
}
}
// บันทึกไฟล์ Excel เอาต์พุต
workbook.save("output.xlsm");
รับใบอนุญาตฟรี
คุณสามารถใช้ Aspose.Cells for Java ได้โดยไม่มีข้อจำกัดในการประเมินโดยใช้ใบอนุญาตชั่วคราว รับของคุณทันที.
บทสรุป
แมโคร VBA ใช้เพื่อทำงานประเภทต่างๆ ในสเปรดชีตโดยอัตโนมัติ เพื่อที่จะทำงานกับแมโคร VBA โดยทางโปรแกรม บทความนี้กล่าวถึงวิธีการเพิ่มและแก้ไขโค้ดในโมดูล VBA โดยใช้ Java หากต้องการเรียนรู้เพิ่มเติม คุณสามารถสำรวจ เอกสารประกอบ ของ API การจัดการสเปรดชีต Java นอกจากนี้ คุณสามารถโพสต์คำถามหรือข้อสงสัยของคุณบน ฟอรัม ของเรา
ดูสิ่งนี้ด้วย
เคล็ดลับ: คุณอาจต้องการลองใช้ Aspose เครื่องมือลบแมโคร VBA ออนไลน์