Tạo Cập nhật VBA trong Word Java

Thông thường, tài liệu Word bao gồm mã Visual Basic for Application (VBA) để tự động hóa các tác vụ và nâng cao chức năng của tài liệu. Nếu bạn là nhà phát triển Java, bạn có thể thắc mắc cách tương tác và sửa đổi mã VBA trong tài liệu Word. Vì vậy, trong bài đăng blog này, chúng ta sẽ khám phá cách bạn có thể tạo và sửa đổi mã VBA trong tài liệu Word trong ứng dụng Java.

Thư viện Java để làm việc với VBA trong tài liệu Word

Aspose.Words for Java là thư viện cho phép bạn tạo, thao tác và hiển thị tài liệu Microsoft Word mà không cần cài đặt Microsoft Word. Nó cung cấp nhiều tính năng để làm việc với tài liệu Word, bao gồm đọc, viết và sửa đổi nội dung của chúng. Ngoài ra, thư viện cho phép bạn làm việc với mã VBA được nhúng trong tài liệu Word, mã này có thể cực kỳ hữu ích để tự động hóa các tác vụ và thêm tính tương tác vào tài liệu của bạn.

Bạn có thể tải xuống thư viện hoặc cài đặt nó bằng cấu hình maven sau.

<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>

Tạo Macro VBA trong tài liệu Word trong Java

Aspose.Words cung cấp các lớp sau để làm việc với mã VBA trong tài liệu Word:

Chúng ta hãy xem các bước cần thiết để tạo macro VBA trong tài liệu Word.

  • Đầu tiên, tải tài liệu Word hoặc tạo một tài liệu mới bằng lớp Document.
  • Sau đó, tạo một đối tượng của lớp VbaProject, đặt tên cho nó và gán nó vào tài liệu bằng phương thức setVbaProject().
  • Tạo một đối tượng của lớp VbaModule và đặt tên, loại và mã nguồn của nó.
  • Thêm mô-đun vào dự án bằng phương thức Document.getVbaProject().getModules().add(VbaModule).
  • Cuối cùng, lưu tài liệu Word bằng phương thức Document.save().

Đoạn mã sau đây cho biết cách tạo mô-đun VBA trong tài liệu Word bằng Java.

// Để biết các ví dụ và tệp dữ liệu đầy đủ, vui lòng truy cập https://github.com/aspose-words/Aspose.Words-for-Java
// Tải tài liệu
Document doc = new Document("document.docm");

// Tạo một dự án VBA mới
VbaProject project = new VbaProject();
project.setName("AsposeProject");
doc.setVbaProject(project);

// Tạo một mô-đun mới và chỉ định mã nguồn macro
VbaModule module = new VbaModule();
module.setName("AsposeModule");
module.setType(VbaModuleType.PROCEDURAL_MODULE);
module.setSourceCode("New source code");

// Thêm mô-đun vào dự án VBA
doc.getVbaProject().getModules().add(module);

// Lưu tài liệu
doc.save("updated.docm");

Đọc Macro VBA từ tài liệu Word

Bạn có thể truy cập và đọc các macro VBA hiện có từ tài liệu Word. Để làm được điều này, bạn cần tải tài liệu và truy cập vào bộ sưu tập các mô-đun trong dự án VBA. Dưới đây là các bước để đọc tất cả các macro VBA trong tài liệu Word.

  • Tải tài liệu Word bằng lớp Tài liệu.
  • Truy cập bộ sưu tập các mô-đun VBA bằng phương thức Document.getVbaProject().getModules().
  • Sử dụng lớp VbaModule để đọc từng mô-đun VBA trong dự án.

Đoạn mã sau đây cho biết cách đọc mô-đun VBA từ tài liệu Word trong Java.

// Tải tài liệu
Document doc = new Document("document.docm");

// Đọc mã nguồn VBA
for (VbaModule module : doc.getVbaProject().getModules()) {
    System.out.println(module.getSourceCode());
}

Cập nhật Macro VBA trong tài liệu Word

Trong trường hợp bạn cần cập nhật mã nguồn hoặc bất kỳ thông tin nào khác của mô-đun VBA, bạn có thể thực hiện việc đó một cách dễ dàng. Chỉ cần truy cập mô-đun VBA mong muốn từ bộ sưu tập và sửa đổi nó nếu cần. Sau đây là các bước để cập nhật macro VBA trong tài liệu Word.

  • Đầu tiên, tải tài liệu Word bằng lớp Tài liệu.
  • Truy cập bộ sưu tập các mô-đun VBA bằng phương thức Document.getVbaProject().getModules().
  • Lấy tham chiếu của macro VBA mong muốn trong đối tượng VbaModule.
  • Cập nhật mô-đun VBA bằng đối tượng VbaModule.

Mẫu mã sau đây cho biết cách cập nhật macro VBA trong tài liệu Word bằng Java.

// Để biết các ví dụ và tệp dữ liệu đầy đủ, vui lòng truy cập https://github.com/aspose-words/Aspose.Words-for-Java
// Tải tài liệu
Document doc = new Document("document.docm");

// Nhận tài liệu tham khảo của dự án VBA
VbaProject project = doc.getVbaProject();

String newSourceCode = "Test change source code";

// Chọn một mô-đun và đặt mã nguồn mới
project.getModules().get(0).setSourceCode(newSourceCode);

// Lưu tài liệu
doc.save("output.docm");

Sao chép mã VBA từ tài liệu Word

Aspose.Words for Java cũng cho phép bạn sao chép macro VBA từ tài liệu Word này sang tài liệu Word khác. Bạn có thể sao chép dự án VBA hoàn chỉnh hoặc mô-đun VBA cụ thể. Chúng ta hãy xem cách sao chép VBA trong cả hai trường hợp.

Sao chép dự án VBA từ tài liệu Word

Dưới đây là các bước để sao chép một dự án VBA hoàn chỉnh trong tài liệu Word.

  • Tải tài liệu Word nguồn và đích bằng lớp Tài liệu.
  • Gọi phương thức target.setVbaProject(source.getVbaProject().deepClone()) để sao chép dự án VBA từ tài liệu nguồn sang tài liệu đích.
  • Lưu tài liệu đích bằng phương thức Document.save().

Đoạn mã sau đây sao chép dự án VBA từ tài liệu Word này sang tài liệu Word khác.

// Tải tài liệu nguồn
Document doc = new Document("source.docm");
VbaProject project = doc.getVbaProject();

// Tải tài liệu đích
Document destDoc = new Document("target.docm");

// Sao chép toàn bộ dự án
destDoc.setVbaProject(doc.getVbaProject().deepClone());

// Lưu tài liệu
destDoc.save("output.docm");

Sao chép mô-đun VBA từ tài liệu Word

Sau đây là các bước để sao chép mô-đun VBA từ tài liệu Word này sang tài liệu Word khác trong Java.

  • Tải tài liệu Word nguồn và đích bằng lớp Tài liệu.
  • Nhận bản sao của mô-đun VBA mong muốn trong đối tượng VbaModule bằng cách sử dụng phương thức Document.getVbaProject().getModules().get(string Name).deepClone().
  • Thêm mô-đun VBA nhân bản vào tài liệu đích bằng phương thức target.getVbaProject().getModules().add(VbaModule).
  • Lưu tài liệu đích bằng phương thức Document.save().

Đoạn mã sau đây cho biết cách sao chép mô-đun VBA từ tài liệu Word này sang tài liệu Word khác.

// Để biết các ví dụ và tệp dữ liệu đầy đủ, vui lòng truy cập https://github.com/aspose-words/Aspose.Words-for-Java

// Tải tài liệu nguồn
Document doc = new Document("source.docm");
VbaProject project = doc.getVbaProject();

// Tải tài liệu đích
Document destDoc = new Document("target.docm");

// Tạo dự án VBA mới
destDoc.setVbaProject(new VbaProject());

// Sao chép một mô-đun duy nhất
VbaModule copyModule = doc.getVbaProject().getModules().get("Module1").deepClone();
destDoc.getVbaProject().getModules().add(copyModule);

// Lưu tài liệu đã cập nhật
destDoc.save("output.docm");

Nhận giấy phép miễn phí

Nhận giấy phép tạm thời miễn phí để sử dụng tối đa công suất của thư viện Java Word mà không gặp bất kỳ giới hạn đánh giá nào.

Tài nguyên

Dưới đây là một số liên kết hữu ích để bạn khám phá thư viện xử lý văn bản Java của chúng tôi:

Phần kết luận

Aspose.Words for Java cung cấp giải pháp mạnh mẽ và linh hoạt để tạo và sửa đổi mã VBA trong tài liệu Word bằng Java. Cho dù bạn muốn tạo tài liệu tương tác từ đầu hay nâng cao tài liệu hiện có bằng chức năng VBA, thư viện này sẽ giúp bạn dễ dàng làm việc với tài liệu Word và tự động hóa các tác vụ.

Trong bài đăng blog này, chúng tôi đã cung cấp cho bạn hướng dẫn từng bước về cách làm việc với macro VBA trong tài liệu Word từ bên trong ứng dụng Java của bạn. Bằng cách cài đặt thư viện và làm theo hướng dẫn, bạn có thể dễ dàng thao tác với mã VBA theo chương trình.

Xem thêm