Word 문서에는 작업을 자동화하고 문서 기능을 향상시키기 위한 VBA(Visual Basic for Application) 코드가 포함되는 경우가 많습니다. Java 개발자라면 Word 문서에서 VBA 코드와 상호 작용하고 수정하는 방법이 궁금할 것입니다. 따라서 이 블로그 게시물에서는 Java 응용 프로그램의 Word 문서에서 VBA 코드를 만들고 수정하는 방법을 살펴보겠습니다.
- Word 문서에서 VBA와 함께 작동하는 Java 라이브러리
- Word 문서에서 VBA 매크로 만들기
- Word 문서에서 VBA 매크로 읽기
- Word 문서에서 VBA 매크로 업데이트
- 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 코드로 작업할 수 있도록 다음 클래스를 제공합니다.
- Vba프로젝트 to access VBA project information.
- Vba모듈수집 to access the collection of VBA modules in a project.
- Vba모듈 to access a single module in the VBA project.
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 코드를 프로그래밍 방식으로 쉽게 조작할 수 있습니다.