Word Java에서 업데이트 VBA 만들기

Word 문서에는 작업을 자동화하고 문서 기능을 향상시키기 위한 VBA(Visual Basic for Application) 코드가 포함되는 경우가 많습니다. Java 개발자라면 Word 문서에서 VBA 코드와 상호 작용하고 수정하는 방법이 궁금할 것입니다. 따라서 이 블로그 게시물에서는 Java 응용 프로그램의 Word 문서에서 VBA 코드를 만들고 수정하는 방법을 살펴보겠습니다.

Word 문서에서 VBA와 함께 작동하는 Java 라이브러리

Aspose.Words for Java는 Microsoft Word를 설치하지 않고도 Microsoft Word 문서를 생성, 조작 및 렌더링할 수 있는 라이브러리입니다. 내용 읽기, 쓰기, 수정을 포함하여 Word 문서 작업을 위한 다양한 기능을 제공합니다. 또한 라이브러리를 사용하면 Word 문서에 포함된 VBA 코드로 작업할 수 있으므로 작업을 자동화하고 문서에 대화형 기능을 추가하는 데 매우 유용할 수 있습니다.

라이브러리를 다운로드하거나 다음 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>

Java의 Word 문서에서 VBA 매크로 만들기

Aspose.Words는 Word 문서에서 VBA 코드로 작업할 수 있도록 다음 클래스를 제공합니다.

Word 문서에서 VBA 매크로를 만드는 데 필요한 단계를 살펴보겠습니다.

  • 먼저 Word 문서를 로드하거나 Document 클래스를 사용하여 새 문서를 만듭니다.
  • 그런 다음 VbaProject 클래스의 객체를 생성하고 이름을 설정한 후 setVbaProject() 메서드를 사용하여 문서에 할당합니다.
  • VbaModule 클래스의 개체를 만들고 해당 개체의 이름, 유형 및 소스 코드를 설정합니다.
  • Document.getVbaProject().getModules().add(VbaModule) 메서드를 사용하여 프로젝트에 모듈을 추가합니다.
  • 마지막으로 Document.save() 메서드를 사용하여 Word 문서를 저장합니다.

다음 코드 조각은 Java의 Word 문서에서 VBA 모듈을 만드는 방법을 보여줍니다.

// 전체 예제 및 데이터 파일을 보려면 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");

Word 문서에서 VBA 매크로 읽기

Word 문서에서 기존 VBA 매크로에 액세스하고 읽을 수 있습니다. 이를 위해서는 문서를 로드하고 VBA 프로젝트의 모듈 컬렉션에 액세스해야 합니다. 다음은 Word 문서에서 모든 VBA 매크로를 읽는 단계입니다.

  • Document 클래스를 사용하여 Word 문서를 로드합니다.
  • Document.getVbaProject().getModules() 메서드를 사용하여 VBA 모듈 컬렉션에 액세스합니다.
  • VbaModule 클래스를 사용하여 프로젝트의 각 VBA 모듈을 읽습니다.

다음 코드 조각은 Java의 Word 문서에서 VBA 모듈을 읽는 방법을 보여줍니다.

// 문서 로드
Document doc = new Document("document.docm");

// VBA 소스 코드 읽기
for (VbaModule module : doc.getVbaProject().getModules()) {
    System.out.println(module.getSourceCode());
}

Word 문서에서 VBA 매크로 업데이트

VBA 모듈의 소스 코드나 기타 정보를 업데이트해야 하는 경우 쉽게 업데이트할 수 있습니다. 컬렉션에서 원하는 VBA 모듈에 액세스하고 필요에 따라 수정하면 됩니다. 다음은 Word 문서에서 VBA 매크로를 업데이트하는 단계입니다.

  • 먼저 Document 클래스를 사용하여 Word 문서를 로드합니다.
  • Document.getVbaProject().getModules() 메서드를 사용하여 VBA 모듈 컬렉션에 액세스합니다.
  • VbaModule 개체에서 원하는 VBA 매크로의 참조를 가져옵니다.
  • VbaModule 개체를 사용하여 VBA 모듈을 업데이트합니다.

다음 코드 샘플은 Java를 사용하여 Word 문서에서 VBA 매크로를 업데이트하는 방법을 보여줍니다.

// 전체 예제 및 데이터 파일을 보려면 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");

Word 문서에서 VBA 코드 복제

Aspose.Words for Java를 사용하면 한 Word 문서에서 다른 Word 문서로 VBA 매크로를 복제할 수도 있습니다. 전체 VBA 프로젝트 또는 특정 VBA 모듈을 복제할 수 있습니다. 두 경우 모두 VBA를 복사하는 방법을 살펴보겠습니다.

Word 문서에서 VBA 프로젝트 복제

다음은 Word 문서에서 전체 VBA 프로젝트를 복제하는 단계입니다.

  • Document 클래스를 사용하여 소스 및 대상 Word 문서를 로드합니다.
  • target.setVbaProject(source.getVbaProject().deepClone()) 메서드를 호출하여 VBA 프로젝트를 소스에서 대상 문서로 복제합니다.
  • Document.save() 메소드를 사용하여 대상 문서를 저장합니다.

다음 코드 조각은 한 Word 문서에서 다른 Word 문서로 VBA 프로젝트를 복제합니다.

// 소스 문서 로드
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");

Word 문서에서 VBA 모듈 복제

다음은 Java에서 한 Word 문서에서 다른 Word 문서로 VBA 모듈을 복제하는 단계입니다.

  • Document 클래스를 사용하여 소스 및 대상 Word 문서를 로드합니다.
  • Document.getVbaProject().getModules().get(string Name).deepClone() 메서드를 사용하여 VbaModule 개체에서 원하는 VBA 모듈의 복제본을 가져옵니다.
  • target.getVbaProject().getModules().add(VbaModule) 메서드를 사용하여 복제된 VBA 모듈을 대상 문서에 추가합니다.
  • Document.save() 메소드를 사용하여 대상 문서를 저장합니다.

다음 코드 조각은 한 Word 문서에서 다른 Word 문서로 VBA 모듈을 복제하는 방법을 보여줍니다.

// 전체 예제 및 데이터 파일을 보려면 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는 Java를 사용하여 Word 문서에서 VBA 코드를 생성하고 수정하기 위한 강력하고 유연한 솔루션을 제공합니다. 처음부터 대화형 문서를 만들거나 VBA 기능으로 기존 문서를 개선하려는 경우 이 라이브러리를 사용하면 Word 문서 작업을 쉽게 하고 작업을 자동화할 수 있습니다.

이 블로그 게시물에서는 Java 애플리케이션 내에서 Word 문서의 VBA 마르코 작업을 수행하는 방법에 대한 단계별 가이드를 제공했습니다. 라이브러리를 설치하고 지침을 따르면 VBA 코드를 프로그래밍 방식으로 쉽게 조작할 수 있습니다.

또한보십시오