簡體   English   中英

通過java程序打開visio

[英]Open visio by java program

我已經通過以下代碼從java打開了visio ..

Display display = new Display();
        Shell shell = new Shell(display);
        shell.setText("Visio Example");
        shell.setLayout(new FillLayout());
        try {
            OleFrame frame = new OleFrame(shell, SWT.NONE);
            new OleClientSite(frame, SWT.NONE, "Visio.drawing");
        } catch (SWTError e) {
            System.out.println("Unable to open activeX control");
            display.dispose();
            return;
        }
        shell.setSize(800, 600);
        shell.open();

        while (!shell.isDisposed()) {
            if (!display.readAndDispatch())
                display.sleep();
        }
        display.dispose();

現在問題是它是在手動點擊后打開一個頁面,即OK

我想直接跳轉到新頁面進行繪制,我的代碼需要增強哪些內容?

這也可以在圖像中看到。

謝謝。

在此輸入圖像描述

一個解決方案可能是檢查Java Robot類,我不是說它是可能遠離它的理想解決方案但是,Robot類允許你做的是觸發屏幕上的點擊事件。 您可能希望稍后執行此操作,如果它不能解決此特定問題,則稍后可能會有用。

http://docs.oracle.com/javase/1.4.2/docs/api/java/awt/Robot.html

//Something like this
Robot robot = new Robot();
//Where 100 is x and y being the onscreen co-ordinates
robot.mouseMove(100,100);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);

據說它可能不是理想的解決方案,但對於您的預期目的,您可能會覺得它很有幫助。

編輯:您也可以使用此類來執行,按鍵。 例如,按幾次標簽然后輸入密鑰。 這個解決方案遠非理想。 但是會做IMO的工作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM