VBA Makrolarıyla Çalışmak

Uygulamalar için (VBA) Visual Basic Microsoft Word için basit ama güçlü bir programlama dili, işlevselliği genişletmek için kullanılabilir. Aspose.Words API, VBA projesi kaynak koduna erişmek için üç sınıf sağlar:

  • VBAProject sınıfı, VBA proje bilgilerine erişimi sağlar
  • VBAModulesCollection sınıfı, VBA projesi modüllerinin koleksiyonunu döndürür
  • VbaModule sınıfı, VBA proje modülüne erişim sağlar

VBA Projesi Oluşturun

Aspose.Words API, belge içinde VbaProject almak veya ayarlamak için VbaProject özelliğini sağlar.

Aşağıdaki kod örneği, temel özelliklere sahip bir VBA projesi ve VBA modülü oluşturmak için nasıl yapılacağını göstermektedir. Ad ve Türü:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
Document doc = new Document();
// Create a new VBA project.
VbaProject project = new VbaProject();
project.setName("AsposeProject");
doc.setVbaProject(project);
// Create a new module and specify a macro source code.
VbaModule module = new VbaModule();
module.setName("AsposeModule");
module.setType(VbaModuleType.PROCEDURAL_MODULE);
module.setSourceCode("New source code");
// Add module to the VBA project.
doc.getVbaProject().getModules().add(module);
doc.save(dataDir + "VbaProject_out.docm");

Makroları Oku

Aspose.Words kullanıcılara ayrıca VBA makrolarını okuma yeteneği sağlar.

Aşağıdaki kod örneği, belgeden VBA makroları okumak için nasıl yapılacağını göstermektedir:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
Document doc = new Document(dataDir + "VbaProject_out.docm");
for (VbaModule module : doc.getVbaProject().getModules()) {
System.out.println(module.getSourceCode());
}
doc.save(dataDir + "VbaProject_out.docm");

Makroları Değiştir

Aspose.Words kullanarak kullanıcılar, VBA makrolarını değiştirebilirler.

Aşağıdaki kod örneği, SourceCode özelliğini kullanarak VBA Makrolarını nasıl değiştireceğinizi gösterir:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
Document doc = new Document(dataDir + "VbaProject_out.docm");
VbaProject project = doc.getVbaProject();
String newSourceCode = "Test change source code";
// Choose a module, and set a new source code.
project.getModules().get(0).setSourceCode(newSourceCode);

VBA Projesi Klonla

Aspose.Words ile ayrıca VBA projelerini klonlamak mümkündür.

Aşağıdaki kod örneği, var olan projenin bir kopyasını oluşturmak için kullanılan Clone özelliğini kullanarak VBA Proje’nin nasıl klonlanacağını göstermektedir:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
Document doc = new Document(dataDir + "VbaProject_out.docm");
VbaProject project = doc.getVbaProject();
Document destDoc = new Document();
// Clone the whole project.
destDoc.setVbaProject(doc.getVbaProject().deepClone());
destDoc.save(dataDir + "output.docm");

Klon VBA Modülü

Eğer gerekirse, VBA modüllerini de kopyalayabilirsin.

Aşağıdaki kod örneği, var olan projenin bir kopyasını oluşturmak için kullanılan Clone özelliğini kullanarak VBA Modülünü nasıl klonlayacağınızı göstermektedir

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
Document doc = new Document(dataDir + "VbaProject_out.docm");
VbaProject project = doc.getVbaProject();
Document destDoc = new Document();
destDoc.setVbaProject(new VbaProject());
// Clone a single module.
VbaModule copyModule = doc.getVbaProject().getModules().get("Module1").deepClone();
destDoc.getVbaProject().getModules().add(copyModule);
destDoc.save(dataDir + "output.docm");