49 lines
1.4 KiB
Java
49 lines
1.4 KiB
Java
package com.jacob.samples.office;
|
|
|
|
import com.jacob.activeX.ActiveXComponent;
|
|
import com.jacob.com.ComFailException;
|
|
import com.jacob.com.Dispatch;
|
|
|
|
/**
|
|
* Snippet to show Visio print dialog
|
|
* <p>
|
|
* Sample submitted by fatbuttlarry in SourceForge 1803140 as part of bug report
|
|
* <p>
|
|
* Tested with Java 6.0SE and MS Office 2003 ** Note: 1010 = VB's
|
|
* visCmdFilePrint constant
|
|
*/
|
|
public class VisioPrintTest {
|
|
|
|
/**
|
|
* Runs the print ant lets the user say ok or cancel. Note the funky Visio
|
|
* behavior if someone hits the cancel button
|
|
*
|
|
*/
|
|
public void testPrintDialog() {
|
|
ActiveXComponent oActiveX = new ActiveXComponent("Visio.Application");
|
|
Dispatch oDocuments = oActiveX.getProperty("Documents").toDispatch();
|
|
// create a blank document
|
|
Dispatch.call(oDocuments, "Add", "");
|
|
try {
|
|
Dispatch.call(oActiveX, "DoCmd", new Integer(1010)).getInt();
|
|
System.out.println("User hit the ok button.");
|
|
} catch (ComFailException e) {
|
|
System.out.println("User hit the cancel button: " + e);
|
|
} finally {
|
|
oActiveX.invoke("Quit");
|
|
}
|
|
return;
|
|
}
|
|
|
|
/**
|
|
* quick main() to test this
|
|
*
|
|
* @param args
|
|
* standard command line arguments
|
|
*/
|
|
public static void main(String[] args) {
|
|
VisioPrintTest testObject = new VisioPrintTest();
|
|
testObject.testPrintDialog();
|
|
}
|
|
}
|