עבודה עם VBA Macros
Visual Basic בקשה (VBA) Microsoft Word היא שפת תכנות פשוטה אך עוצמתית שניתן להשתמש בה כדי להרחיב את הפונקציונליות. Aspose.Words API מספק שלוש כיתות כדי לקבל גישה לקוד המקור של פרויקט VBA:
- The VBAProject המחלקה מספקת גישה למידע של פרויקט VBA
- The VBAModulesCollection קבוצת VBA מחזירה את אוסף מודולי פרויקט VBA
- The VbaModule שיעור מספק גישה למודול פרויקט VBA
יצירת פרויקט VBA
Aspose.Words API מספק VbaProject לרכוש או להגדיר VbaProject במסמך.
הדוגמה הקודית הבאה מראה כיצד ליצור פרויקט VBA ומודול VBA יחד עם תכונות בסיסיות e.g. שם וסוג:
// 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"); |
Read Macros
Aspose.Words מספק למשתמשים את היכולת לקרוא מאקרו VBA.
דוגמה לקוד הבא מראה כיצד לקרוא את VBA Macros מהמסמכים:
// 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"); |
שינוי Macros
שימוש Aspose.Words, משתמשים יכולים לשנות מאקרו VBA.
דוגמה לקוד הבא מראה כיצד לשנות את VBA Macros באמצעות ה-VBA. SourceCode רכוש:
// 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); |
Clone VBA פרויקט
עם Aspose.Words ניתן גם לשחזר פרויקטים של VBA.
הדוגמה הבאה לקוד ממחישה כיצד לשחזר את פרויקט VBA באמצעות פרויקט VBA. Clone נכסים שיוצרים עותק של הפרויקט הקיים:
// 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"); |
Clone VBA מודול
ניתן גם לשחזר מודולי VBA במידת הצורך.
הדוגמה הבאה של הקוד מראה כיצד לשחזר את מודול VBA באמצעות ה- VBA. Clone רכוש שיוצר עותק של הפרויקט הקיים
// 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"); |