هناك إشارة جيدة لاستخدام أتمتة OLE (من جاوة)؟

StackOverflow https://stackoverflow.com/questions/510506

  •  21-08-2019
  •  | 
  •  

سؤال

وأنا أحاول التواصل مع Excel من جافا / تطبيق سبحانه وتعالى. وقد أتيحت لي الفرصة لفتح ورقة عمل، فتح الملف وحفظه ولكن هذا عن ذلك.

ويمكن لأي شخص أن يشير لي أن بعض الوثائق / أمثلة لهذا؟ أنا لا سيما في حاجة لمعرفة الأوامر التي تتوفر. أنا لم محاولة لتسجيل وحدات الماكرو لتفتيشها. وكان هذا مفيدا لكنه لم يقدم لي كل ما أردت.

وهذا هو عينة من ما لقد سعيت حتى الآن:

private static OleAutomation openFile(
        OleAutomation automation, String fileName) {
    Variant workbooks = automation.getProperty(0x0000023c);// get User
                                                            // Defined
                                                            // Workbooks
    Variant[] arguments = new Variant[1];

    arguments[0] = new Variant(fileName);
    System.out.println("workbooks::\t" + workbooks);

    IDispatch p1 = workbooks.getDispatch();
    int[] rgdispid = workbooks.getAutomation().getIDsOfNames(new String[] { "Open" });
    int dispIdMember = rgdispid[0];
    Variant workbook = workbooks.getAutomation().invoke(dispIdMember, arguments);
    System.out.println("Opened the Work Book");
    try {
        Thread.sleep(500);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    int id = workbook.getAutomation().getIDsOfNames(new String[] { "ActiveSheet" })[0];
    System.out.println(id);
    Variant sheet = workbook.getAutomation().getProperty(id);
    OleAutomation sheetAutomation = sheet.getAutomation();

    return (sheetAutomation);
}
هل كانت مفيدة؟

المحلول

وليس وثائق، ولكن كونك سئل عن الأوامر المتوفرة عبر أتمتة: هل حاولت المشاهد كائن OLE / COM الذي يأتي مع مجموعة الموارد ويندوز 2000؟ تحميل هنا .

نصائح أخرى

واستخدام VBA مساعدة MSOFFICE. كما يمكنك استخدام مستعرض الكائنات في محرر VB المكتب.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top