สร้างการอัปเดต VBA ใน Word Java

บ่อยครั้งที่เอกสาร Word มีโค้ด Visual Basic for Applications (VBA) เพื่อทำให้งานเป็นแบบอัตโนมัติและปรับปรุงฟังก์ชันการทำงานของเอกสาร หากคุณเป็นนักพัฒนา Java คุณอาจสงสัยว่าจะโต้ตอบและแก้ไขโค้ด VBA ในเอกสาร Word ได้อย่างไร ดังนั้นในบล็อกโพสต์นี้ เราจะมาดูกันว่าคุณสามารถสร้างและแก้ไขโค้ด VBA ในเอกสาร Word ในแอปพลิเคชัน Java ได้อย่างไร

Java Library เพื่อทำงานร่วมกับ VBA ในเอกสาร Word

Aspose.Words for Java เป็นไลบรารีที่ช่วยให้คุณสามารถสร้าง จัดการ และเรนเดอร์เอกสาร Microsoft Word ได้โดยไม่จำเป็นต้องติดตั้ง Microsoft Word มีฟีเจอร์มากมายสำหรับการทำงานกับเอกสาร Word รวมถึงการอ่าน การเขียน และการแก้ไขเนื้อหา นอกจากนี้ ไลบรารียังช่วยให้คุณทำงานกับโค้ด VBA ที่ฝังอยู่ในเอกสาร Word ได้ ซึ่งมีประโยชน์อย่างมากในการทำงานอัตโนมัติและเพิ่มการโต้ตอบให้กับเอกสารของคุณ

คุณสามารถ ดาวน์โหลด ไลบรารีหรือติดตั้งโดยใช้การกำหนดค่า 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-words</artifactId>
    <version>23.8</version>
    <classifier>jdk17</classifier>
</dependency>

สร้างแมโคร VBA ในเอกสาร Word ใน Java

Aspose.Words มีคลาสต่อไปนี้เพื่อทำงานกับโค้ด VBA ในเอกสาร Word:

มาดูขั้นตอนที่จำเป็นในการสร้างแมโคร VBA ในเอกสาร Word กัน

  • ขั้นแรก โหลดเอกสาร Word หรือสร้างเอกสารใหม่โดยใช้คลาสเอกสาร
  • จากนั้น สร้างอ็อบเจ็กต์ของคลาส VbaProject ตั้งชื่อและกำหนดให้กับเอกสารโดยใช้เมธอด setVbaProject()
  • สร้างอ็อบเจ็กต์ของคลาส VbaModule และตั้งชื่อ ประเภท และซอร์สโค้ด
  • เพิ่มโมดูลให้กับโปรเจ็กต์โดยใช้เมธอด Document.getVbaProject().getModules().add(VbaModule)
  • สุดท้าย ให้บันทึกเอกสาร Word โดยใช้วิธี Document.save()

ข้อมูลโค้ดต่อไปนี้แสดงวิธีสร้างโมดูล VBA ในเอกสาร Word ใน Java

// หากต้องการดูตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-words/Aspose.Words-for-Java
// โหลดเอกสาร
Document doc = new Document("document.docm");

// สร้างโครงการ VBA ใหม่
VbaProject project = new VbaProject();
project.setName("AsposeProject");
doc.setVbaProject(project);

// สร้างโมดูลใหม่และระบุซอร์สโค้ดแมโคร
VbaModule module = new VbaModule();
module.setName("AsposeModule");
module.setType(VbaModuleType.PROCEDURAL_MODULE);
module.setSourceCode("New source code");

// เพิ่มโมดูลในโครงการ VBA
doc.getVbaProject().getModules().add(module);

// บันทึกเอกสาร
doc.save("updated.docm");

อ่านแมโคร VBA จากเอกสาร Word

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

  • โหลดเอกสาร Word โดยใช้คลาส Document
  • เข้าถึงคอลเลกชันของโมดูล VBA โดยใช้เมธอด Document.getVbaProject().getModules()
  • ใช้คลาส VbaModule เพื่ออ่านแต่ละโมดูล VBA ในโครงการ

ข้อมูลโค้ดต่อไปนี้แสดงวิธีการอ่านโมดูล VBA จากเอกสาร Word ใน Java

// โหลดเอกสาร
Document doc = new Document("document.docm");

// อ่านซอร์สโค้ด VBA
for (VbaModule module : doc.getVbaProject().getModules()) {
    System.out.println(module.getSourceCode());
}

อัปเดตแมโคร VBA ในเอกสาร Word

ในกรณีที่คุณต้องการอัปเดตซอร์สโค้ดหรือข้อมูลอื่น ๆ ของโมดูล VBA คุณสามารถทำได้โดยไม่ต้องเปลืองแรง เพียงเข้าถึงโมดูล VBA ที่ต้องการจากคอลเลกชันและแก้ไขตามต้องการ ต่อไปนี้เป็นขั้นตอนในการอัปเดตแมโคร VBA ในเอกสาร Word

  • ขั้นแรก โหลดเอกสาร Word โดยใช้คลาส Document
  • เข้าถึงคอลเลกชันของโมดูล VBA โดยใช้เมธอด Document.getVbaProject().getModules()
  • รับการอ้างอิงของแมโคร VBA ที่ต้องการในวัตถุ VbaModule
  • อัปเดตโมดูล VBA โดยใช้วัตถุ VbaModule

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีอัปเดตแมโคร VBA ในเอกสาร Word โดยใช้ Java

// หากต้องการดูตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-words/Aspose.Words-for-Java
// โหลดเอกสาร
Document doc = new Document("document.docm");

// รับข้อมูลอ้างอิงของโครงการ VBA
VbaProject project = doc.getVbaProject();

String newSourceCode = "Test change source code";

// เลือกโมดูลและตั้งค่าซอร์สโค้ดใหม่
project.getModules().get(0).setSourceCode(newSourceCode);

// บันทึกเอกสาร
doc.save("output.docm");

โคลนโค้ด VBA จากเอกสาร Word

Aspose.Words for Java ยังช่วยให้คุณสามารถโคลนมาโคร VBA จากเอกสาร Word หนึ่งไปยังอีกเอกสารหนึ่งได้ คุณสามารถโคลนโครงการ VBA ที่สมบูรณ์หรือโมดูล VBA ที่เฉพาะเจาะจงได้ เรามาดูวิธีการคัดลอก VBA ในทั้งสองกรณีกันดีกว่า

โคลนโครงการ VBA จากเอกสาร Word

ต่อไปนี้เป็นขั้นตอนในการโคลนโครงการ VBA ที่สมบูรณ์ในเอกสาร Word

  • โหลดเอกสาร Word ต้นฉบับและเป้าหมายโดยใช้คลาส Document
  • เรียกเมธอด target.setVbaProject(source.getVbaProject().deepClone()) เพื่อโคลนโปรเจ็กต์ VBA จากเอกสารต้นทางไปยังเป้าหมาย
  • บันทึกเอกสารเป้าหมายโดยใช้เมธอด Document.save()

ข้อมูลโค้ดต่อไปนี้จะโคลนโครงการ VBA จากเอกสาร Word หนึ่งไปยังอีกเอกสารหนึ่ง

// โหลดเอกสารต้นฉบับ
Document doc = new Document("source.docm");
VbaProject project = doc.getVbaProject();

// โหลดเอกสารเป้าหมาย
Document destDoc = new Document("target.docm");

// โคลนโครงการทั้งหมด
destDoc.setVbaProject(doc.getVbaProject().deepClone());

// บันทึกเอกสาร
destDoc.save("output.docm");

โคลนโมดูล VBA จากเอกสาร Word

ต่อไปนี้เป็นขั้นตอนในการโคลนโมดูล VBA จากเอกสาร Word หนึ่งไปยังอีกเอกสารหนึ่งใน Java

  • โหลดเอกสาร Word ต้นฉบับและเป้าหมายโดยใช้คลาส Document
  • รับโคลนของโมดูล VBA ที่ต้องการในวัตถุ VbaModule โดยใช้เมธอด Document.getVbaProject().getModules().get(string Name).deepClone()
  • เพิ่มโมดูล VBA ที่โคลนลงในเอกสารเป้าหมายโดยใช้เมธอด target.getVbaProject().getModules().add(VbaModule)
  • บันทึกเอกสารเป้าหมายโดยใช้เมธอด Document.save()

ข้อมูลโค้ดต่อไปนี้แสดงวิธีการโคลนโมดูล VBA จากเอกสาร Word หนึ่งไปยังอีกเอกสารหนึ่ง

// หากต้องการดูตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-words/Aspose.Words-for-Java

// โหลดเอกสารต้นฉบับ
Document doc = new Document("source.docm");
VbaProject project = doc.getVbaProject();

// โหลดเอกสารเป้าหมาย
Document destDoc = new Document("target.docm");

// สร้างโครงการ VBA ใหม่
destDoc.setVbaProject(new VbaProject());

// โคลนโมดูลเดียว
VbaModule copyModule = doc.getVbaProject().getModules().get("Module1").deepClone();
destDoc.getVbaProject().getModules().add(copyModule);

// บันทึกเอกสารที่อัปเดต
destDoc.save("output.docm");

รับใบอนุญาตฟรี

รับ [ใบอนุญาตชั่วคราวฟรี] เพื่อใช้งานไลบรารี Java Word ได้เต็มประสิทธิภาพโดยไม่มีข้อจำกัดในการประเมิน

ทรัพยากร

ด้านล่างนี้เป็นลิงค์ที่เป็นประโยชน์สำหรับคุณในการสำรวจไลบรารีการประมวลผลคำ Java ของเรา:

บทสรุป

Aspose.Words for Java มอบโซลูชันที่ทรงพลังและยืดหยุ่นสำหรับการสร้างและแก้ไขโค้ด VBA ในเอกสาร Word โดยใช้ Java ไม่ว่าคุณจะต้องการสร้างเอกสารเชิงโต้ตอบตั้งแต่เริ่มต้นหรือปรับปรุงเอกสารที่มีอยู่ด้วยฟังก์ชัน VBA ไลบรารีนี้ทำให้ง่ายต่อการทำงานกับเอกสาร Word และทำงานอัตโนมัติ

ในโพสต์บล็อกนี้ เราได้ให้คำแนะนำทีละขั้นตอนเกี่ยวกับวิธีการทำงานกับ VBA marcos ในเอกสาร Word จากภายในแอปพลิเคชัน Java ของคุณ ด้วยการติดตั้งไลบรารีและปฏิบัติตามคำแนะนำ คุณสามารถจัดการโค้ด VBA โดยทางโปรแกรมได้อย่างง่ายดาย

ดูสิ่งนี้ด้วย