ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
536
536
EMPFEHLEN
-
Hi,
ich habe Excel in Java eingebettet - funktioniert auch alles. Aber die "Standart-Menüpunkte" "neu, öffnen, speichern, drucken, seitenansicht" sind sichtbar, aber deaktiviert (grau). Gibt es eine Möglichkeit zumindest "Speichern/ Speichern unter" zu aktivieren? Oder geht das nur über ein "SWT-Menü" was darüber liegt?
Gruß,
mo
PS:
http://www.tutorials.de/forum/java/1...-mit-java.html
hier kann man gut sehen was ich meine
-
18.05.12 11:16 #2
- Registriert seit
- May 2012
- Beiträge
- 1
Moi moi,
erstmal tut mir leid, das ich diesen alten Thread hier ausgrabe, aber bin derzeit genau an dem selben Problem am verzweifeln.
Habe in meinem java Tool ebenfalls Word eingebunden über die ole Schnittstelle.
zwar konnte die oben genannten Befehle (new, save...) über die ole clientSite funktionen implementieren, jedoch finde ich keinen Weg die icons zu aktivieren.
Bzw. suche ich nach einem weg, einzelne Befehle ( z.b. Drucken, Rechtschreibprüfung....) zu aktivieren oder zu deaktivieren.
Gibt es dazu überhaupt eine Java seitige Lösung?
Vielen Dank im Vorraus, hoffe jemand kann mir hier weiterhelfen.
Anbei mein Code:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202
import java.io.File; import org.eclipse.swt.SWT; import org.eclipse.swt.SWTError; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.ole.win32.OLE; import org.eclipse.swt.ole.win32.OleAutomation; import org.eclipse.swt.ole.win32.OleClientSite; import org.eclipse.swt.ole.win32.OleFrame; import org.eclipse.swt.ole.win32.Variant; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.FileDialog; import org.eclipse.swt.widgets.Menu; import org.eclipse.swt.widgets.MenuItem; import org.eclipse.swt.widgets.MessageBox; import org.eclipse.swt.widgets.Shell; public class OleWordExample { private final Display display = new Display(); private Shell shell = new Shell(display); private OleClientSite clientSite; private OleFrame frame; private String path = ""; public OleWordExample() { shell.setSize(1024, 768); shell.setText("Word Example"); shell.setLayout(new FillLayout()); } private void createOleFrame() { try { frame = new OleFrame(shell, SWT.NONE); addMenu(); createClientSite("Word.Document"); OleAutomation oleAutomation = new OleAutomation(clientSite); } catch (SWTError e) { System.out.println("Unable to open activeX control"); display.dispose(); return; } shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } display.dispose(); } private void addMenu() { Menu menuBar = shell.getMenuBar(); if (menuBar == null) { menuBar = new Menu(shell, SWT.BAR); shell.setMenuBar(menuBar); } MenuItem fileMenu = new MenuItem(menuBar, SWT.CASCADE); fileMenu.setText("&File"); Menu menuFile = new Menu(fileMenu); fileMenu.setMenu(menuFile); frame.setFileMenus(new MenuItem[] { fileMenu }); // Work MenuItem menuFileNew = new MenuItem(menuFile, SWT.CASCADE); menuFileNew.setText("New"); menuFileNew.addSelectionListener(new SelectionAdapter() { public void widgetSelected(final SelectionEvent e) { newFile("new"); } }); // work MenuItem menuFileOpen = new MenuItem(menuFile, SWT.CASCADE); menuFileOpen.setEnabled(false); menuFileOpen.setText("Open..."); menuFileOpen.addSelectionListener(new SelectionAdapter() { public void widgetSelected(final SelectionEvent e) { newFile("open"); } }); // work MenuItem menuFileSave = new MenuItem(menuFile, SWT.CASCADE); menuFileSave.setText("Save"); menuFileSave.addSelectionListener(new SelectionAdapter() { public void widgetSelected(final SelectionEvent e) { saveFile(); } }); // work MenuItem menuFileSaveAs = new MenuItem(menuFile, SWT.CASCADE); menuFileSaveAs.setText("Save As"); menuFileSaveAs.addSelectionListener(new SelectionAdapter() { public void widgetSelected(final SelectionEvent e) { saveAsFile(); } }); // work MenuItem menuFileExit = new MenuItem(menuFile, SWT.CASCADE); menuFileExit.setText("Exit"); menuFileExit.addSelectionListener(new SelectionAdapter() { public void widgetSelected(final SelectionEvent e) { shell.dispose(); } }); } private void newFile(String command) { if (clientSite.isDirty()) { MessageBox messageBox = new MessageBox(clientSite.getShell(), SWT.YES | SWT.NO | SWT.CANCEL); messageBox.setMessage("Would you like to save the changes"); int answer = messageBox.open(); switch (answer) { case 64: saveFile(); fileOpen(command); break; case 128: fileOpen(command); break; default: break; } } else { fileOpen(command); } } private void createClientSite(final String fileName) { if (clientSite != null) { clientSite.dispose(); } if (fileName == "Word.Document") { clientSite = new OleClientSite(frame, SWT.NONE, fileName); } else { clientSite = new OleClientSite(frame, SWT.NONE, new File(fileName)); } clientSite.doVerb(OLE.OLEIVERB_INPLACEACTIVATE); } private void fileOpen(String file) { if (file == "new") { path = ""; createClientSite("Word.Document"); } else { FileDialog dialog = new FileDialog(clientSite.getShell(), SWT.OPEN); dialog.setFilterExtensions(new String[] { "*.doc", "*.docx" }); String fileName = dialog.open(); if (fileName != null) { path = fileName; createClientSite(fileName); } } } private void saveFile() { if (path == "") { saveAsFile(); } else { clientSite.save(new File(path), true); } } private void saveAsFile() { FileDialog dialog = new FileDialog(clientSite.getShell(), SWT.SAVE); dialog.setFilterExtensions(new String[] { "*.doc", "*.docx" }); final String savePath = dialog.open(); if (savePath != null) { path = savePath; clientSite.save(new File(path), true); } } public static void main(final String[] args) { OleWordExample example = new OleWordExample(); example.createOleFrame(); } }Geändert von DontBeEvil (18.05.12 um 11:18 Uhr)
Ähnliche Themen
-
"Vertrauenswürdige Sites"-Formular im Internet Explorer aktivieren
Von admichi im Forum NetzwerkeAntworten: 0Letzter Beitrag: 18.02.10, 15:28 -
"position:absolute" in Navigation: IE rückt Untermenü bis zum aktivem Menüpunkt ein
Von DerPilot81 im Forum CSSAntworten: 2Letzter Beitrag: 15.05.09, 14:29 -
Flaue Farben bei "Save for Web" in CS3
Von schleckerbeck im Forum PhotoshopAntworten: 9Letzter Beitrag: 04.12.07, 22:24 -
"Save As..."-Dialog erzwingen für IE...
Von CHaoSlayeR im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 0Letzter Beitrag: 04.10.04, 06:11 -
"unable to save result set" / DB zu klein oder zu voll?
Von cocoon im Forum Relationale DatenbanksystemeAntworten: 7Letzter Beitrag: 12.05.03, 07:30





Zitieren
Login





