ایجاد Update VBA در Word Java

اغلب، اسناد Word شامل کدهای Visual Basic for Applications (VBA) برای خودکارسازی وظایف و بهبود عملکرد سند می‌شود. اگر یک توسعه دهنده جاوا هستید، ممکن است تعجب کنید که چگونه با کد VBA در اسناد Word تعامل داشته باشید و آن را تغییر دهید. بنابراین در این پست وبلاگ، نحوه ایجاد و تغییر کد VBA در اسناد Word در یک برنامه جاوا را بررسی خواهیم کرد.

کتابخانه جاوا برای کار با VBA در اسناد Word

Aspose.Words for Java کتابخانه ای است که به شما امکان می دهد اسناد Microsoft Word را بدون نیاز به نصب Microsoft Word ایجاد، دستکاری و رندر کنید. طیف گسترده ای از ویژگی ها را برای کار با اسناد Word از جمله خواندن، نوشتن و اصلاح محتوای آنها فراهم می کند. علاوه بر این، این کتابخانه به شما امکان می دهد با کد VBA تعبیه شده در اسناد Word کار کنید، که می تواند برای خودکارسازی وظایف و افزودن تعامل به اسناد شما بسیار مفید باشد.

می‌توانید کتابخانه را دانلود یا با استفاده از پیکربندی 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>

ایجاد VBA Macro در یک سند Word در جاوا

Aspose.Words کلاس های زیر را برای کار با کد VBA در اسناد Word ارائه می دهد:

بیایید نگاهی به مراحل مورد نیاز برای ایجاد یک ماکرو VBA در یک سند Word داشته باشیم.

  • ابتدا سند Word را بارگذاری کنید یا با استفاده از کلاس Document یک سند جدید ایجاد کنید.
  • سپس یک شی از کلاس VbaProject ایجاد کنید، نام آن را تنظیم کنید و با استفاده از متد setVbaProject() به سند اختصاص دهید.
  • یک شی از کلاس VbaModule ایجاد کنید و نام، نوع و کد منبع آن را تنظیم کنید.
  • ماژول را با استفاده از روش Document.getVbaProject().getModules().add(VbaModule) به پروژه اضافه کنید.
  • در نهایت، سند Word را با استفاده از متد ()Document.save ذخیره کنید.

قطعه کد زیر نحوه ایجاد یک ماژول VBA را در یک سند Word در جاوا نشان می دهد.

// برای نمونه‌های کامل و فایل‌های داده، لطفاً به 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");

یک ماکرو VBA را از یک سند Word بخوانید

شما می توانید به ماکروهای VBA موجود از یک سند Word دسترسی داشته باشید و آنها را بخوانید. برای این کار باید سند را بارگذاری کنید و به مجموعه ماژول ها در پروژه VBA دسترسی داشته باشید. در زیر مراحل خواندن همه ماکروهای VBA در یک سند Word آورده شده است.

  • بارگیری سند Word با استفاده از کلاس Document.
  • با استفاده از روش Document.getVbaProject().getModules() به مجموعه ماژول های VBA دسترسی پیدا کنید.
  • از کلاس VbaModule برای خواندن هر ماژول VBA در پروژه استفاده کنید.

قطعه کد زیر نحوه خواندن ماژول های VBA را از یک سند Word در جاوا نشان می دهد.

// بارگذاری سند
Document doc = new Document("document.docm");

// کد منبع VBA را بخوانید
for (VbaModule module : doc.getVbaProject().getModules()) {
    System.out.println(module.getSourceCode());
}

یک ماکرو VBA را در یک سند Word به روز کنید

در صورت نیاز به به روز رسانی کد منبع یا هر اطلاعات دیگری از یک ماژول VBA، می توانید این کار را بدون زحمت انجام دهید. کافیست به ماژول VBA مورد نظر از مجموعه دسترسی پیدا کنید و در صورت نیاز آن را اصلاح کنید. مراحل زیر برای به روز رسانی ماکرو VBA در یک سند Word است.

  • ابتدا سند Word را با استفاده از کلاس Document بارگیری کنید.
  • با استفاده از روش Document.getVbaProject().getModules() به مجموعه ماژول های VBA دسترسی پیدا کنید.
  • مرجع ماکرو VBA مورد نظر را در یک شی VbaModule دریافت کنید.
  • ماژول VBA را با استفاده از شی VbaModule به روز کنید.

نمونه کد زیر نحوه به روز رسانی یک ماکرو VBA را در یک سند Word با استفاده از جاوا نشان می دهد.

// برای نمونه های کامل و فایل های داده، لطفاً به 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");

شبیه سازی کد VBA از یک سند Word

Aspose.Words برای جاوا همچنین به شما امکان می دهد ماکروهای VBA را از یک سند Word به سند دیگر شبیه سازی کنید. شما می توانید یک پروژه کامل VBA یا یک ماژول VBA خاص را کلون کنید. بیایید نگاهی به نحوه کپی کردن VBA در هر دو حالت بیندازیم.

کلون پروژه VBA از یک سند Word

در اینجا مراحل شبیه سازی یک پروژه VBA کامل در یک سند Word آمده است.

  • اسناد ورد منبع و هدف را با استفاده از کلاس Document بارگیری کنید.
  • متد target.setVbaProject(source.getVbaProject().deepClone()) را برای کلون کردن پروژه VBA از منبع به سند هدف فراخوانی کنید.
  • سند مورد نظر را با استفاده از متد ()Document.save ذخیره کنید.

قطعه کد زیر پروژه VBA را از یک سند Word به سند دیگر شبیه سازی می کند.

// بارگذاری سند منبع
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");

ماژول VBA را از یک سند Word کلون کنید

در زیر مراحل شبیه سازی یک ماژول VBA از یک سند Word به سند دیگر در جاوا آمده است.

  • اسناد ورد منبع و هدف را با استفاده از کلاس Document بارگیری کنید.
  • کلون ماژول VBA مورد نظر را در یک شی VbaModule با استفاده از روش Document.getVbaProject().getModules().get(string Name).deepClone() دریافت کنید.
  • ماژول VBA کلون شده را با استفاده از روش target.getVbaProject().getModules().add(VbaModule) به سند هدف اضافه کنید.
  • سند مورد نظر را با استفاده از متد ()Document.save ذخیره کنید.

قطعه کد زیر نحوه کلون کردن یک ماژول VBA را از یک سند Word به سند دیگر نشان می دهد.

// برای نمونه های کامل و فایل های داده، لطفاً به 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");

مجوز رایگان دریافت کنید

یک مجوز موقت رایگان برای استفاده از کتابخانه جاوا ورد با ظرفیت کامل خود بدون هیچ گونه محدودیت ارزیابی دریافت کنید.

منابع

در زیر چند پیوند مفید برای کاوش در کتابخانه پردازش کلمه جاوا ما وجود دارد:

نتیجه

Aspose.Words برای جاوا راه حلی قدرتمند و انعطاف پذیر برای ایجاد و اصلاح کد VBA در اسناد Word با استفاده از جاوا ارائه می دهد. چه بخواهید اسناد تعاملی را از ابتدا ایجاد کنید یا اسناد موجود را با عملکرد VBA تقویت کنید، این کتابخانه کار با اسناد Word و خودکارسازی وظایف را آسان می کند.

در این پست وبلاگ، راهنمای گام به گام نحوه کار با VBA marcos در اسناد Word از داخل برنامه جاوا را برای شما ارائه کرده ایم. با نصب کتابخانه و پیروی از دستورالعمل ها، می توانید به راحتی کد VBA را به صورت برنامه نویسی دستکاری کنید.

همچنین ببینید