Oliver Gensch wrote:
> Kann man aus einer Java Application Microsoft Word starten, und Dokumente
> bearbeiten?
Damit kann man von Java aus auf COM Objekte zugreifen,
und z.B. auch relativ einfach Word fernsteuern.
Martin.
Oliver Gensch wrote:
> Kann man aus einer Java Application Microsoft Word starten, und Dokumente
> bearbeiten?
Unter WIN 2000 geht Starten bei mir mit
Runtime.getRuntime().exec(), bspw.:
Runtime.getRuntime().exec("cmd /C start WINWORD.exe");
Linda
--
(=)
/ li...@jalice.ch - http://www.jalice.net
(=)
/ l.ra...@hswzfh.ch - http://www.hswzfh.ch
(=)
Man kann alle Programme aus einem java-Programm starten... (wenn man
darf)
Dazu verwendet man die Methode "exec" der Klasse "Runtime":
public class StartWinword {
public static void main( String[ ] args ) throws Exception {
Process x = Runtime.getRuntime( ).exec(
"C:/Programme/Microsoft Office/Office/WINWORD.EXE" );
}
}
Du musst allerdings wissen, wo das Word-Programm liegt (hier unter
\Programme\Microsoft Office\Office). Unter Umständen muss man dann
noch ein Setup-Programm schreiben, wo dann jeder User den Pfad
eintragen muss der dann in eine Ini-Datei geschrieben wird. Oder aber
den Rechner durchsuchen, ob man das WINWORD.EXE irgendwo findet
(huiiiii).
Das ganze geht natürlich nur mit Applikation, nicht mit Applet.
Dann kann man noch spielen mit Dateinamen und anderen Sachen (wie
ExitCodes. Siehe dazu java.lang.Process.
Gruß,
Klaus.
Erstmal schönen Dank!!! ich werde es mal versuchen
Gruß Oli
>>Dazu verwendet man die Methode "exec" der Klasse "Runtime":
>>
>>public class StartWinword {
>>
>> public static void main( String[ ] args ) throws Exception {
>> Process x = Runtime.getRuntime( ).exec(
>>"C:/Programme/Microsoft Office/Office/WINWORD.EXE" );
>> }
IMHO schlechter Tipp. Der mit dem "Start Winword.exe" übrigens
ebenfalls. Word ist üblicherweise nicht im Pfad. Obiger hard
verdrahteter Pfad ist ebenfalls schlecht, wer sagt denn, dass das nicht
unter D: steht oder Word 97, 2000, XP, 2002, XYZ oder wie auch immer, an
unterschiedlichen Pfaden steht.
Wieso überhaupt Word? Geht es darum, Word-DOC-Dateien zu edieren? Das
geht auch mit Staroffice oder Openoffice. Jedenfalls ist dass, was bei
mir startet, wenn ich auf eine DOC-Datei doppelklicke.
Tatsächlich kannst du unter Windows einfach per
"start document.doc"
ein Dokument aufrufen und so der Shell (aka Windows Explorer)
überlassen, das Programm aufzurufen, welches sich für *.doc-Dateien
registriert hat.
bye
--
Stefan Matthias Aust //
www.3plus4software.de // Inter Deum Et Diabolum Semper Musica Est
Stefan Matthias Aust wrote:
> >>Dazu verwendet man die Methode "exec" der Klasse "Runtime":
> >>public class StartWinword {
> >>
> >> public static void main( String[ ] args ) throws Exception {
> >> Process x = Runtime.getRuntime( ).exec(
> >>"C:/Programme/Microsoft Office/Office/WINWORD.EXE" );
> >> }
>
> IMHO schlechter Tipp. Der mit dem "Start Winword.exe" übrigens
> ebenfalls. Word ist üblicherweise nicht im Pfad. Obiger hard
> verdrahteter Pfad ist ebenfalls schlecht, wer sagt denn, dass das nicht
> unter D: steht oder Word 97, 2000, XP, 2002, XYZ oder wie auch immer, an
> unterschiedlichen Pfaden steht.
Nur so angemerkt: Ich hatte das mit start aus dem D heraus gestartet,
wobei Word 2000 bei mir auf dem C installiert ist, und es klappte
problemlos.(Ich betonte aber auch, dass es bei *mir* funktioniert,
ich hatte es mal auf zwei Rechnern schnell getestet). Das heisst ja
nicht, dass es nicht andere Moeglichkeiten gibt.
Linda
--
_ _ /--\ "I can't explain myself, I'm afraid,Sir",
\/_ _ _/(_(_(_o o) said Alice, "because I'm not myself,
(_(_(_(/ ^ you see". I don't see, said the Caterpillar.
Alices Adventures in Wonderland
> Stefan Matthias Aust wrote:
>
> > IMHO schlechter Tipp. Der mit dem "Start Winword.exe" übrigens
> > ebenfalls. Word ist üblicherweise nicht im Pfad. Obiger hard
> > verdrahteter Pfad ist ebenfalls schlecht, wer sagt denn, dass das nicht
> > unter D: steht oder Word 97, 2000, XP, 2002, XYZ oder wie auch immer, an
> > unterschiedlichen Pfaden steht.
>
> Nur so angemerkt: Ich hatte das mit start aus dem D heraus gestartet,
> wobei Word 2000 bei mir auf dem C installiert ist, und es klappte
> problemlos.(Ich betonte aber auch, dass es bei *mir* funktioniert,
> ich hatte es mal auf zwei Rechnern schnell getestet). Das heisst ja
> nicht, dass es nicht andere Moeglichkeiten gibt.
Das möchte ich etwas genauer:
Du hast
Runtime.getRuntime().exec("D:/Programme/Microsoft Office/Office/Winword.exe");
ausgeführt, das Programm liegt unter
D:/Programme/Microsoft Office/Office/Winword.exe,
und alles funktionier?
Paul, zweifelnd
Paul Ebermann wrote:
> Das möchte ich etwas genauer:
> Du hast
> Runtime.getRuntime().exec("D:/Programme/Microsoft Office/Office/Winword.exe");
> ausgeführt, das Programm liegt unter
> D:/Programme/Microsoft Office/Office/Winword.exe,
> und alles funktionier?
Nein, das ist nicht aus meinem Posting, ich hatte:
Runtime.getRuntime().exec("cmd /C start WINWORD.exe");
verwendet (, s. auch mein erstes Posting dazu). Das SDK und
meine Programme sind aber auf einem meiner Rechner auf dem
D,Word dagegen auf dem C installiert. Das von dir angegebene
wuerde bei mir funkionieren, wenn ich im Pfad D:/... in C:/...
aendere, aber die Zeile stammt ja nicht aus meinem Posting.
>IMHO schlechter Tipp. Der mit dem "Start Winword.exe" übrigens
>ebenfalls. Word ist üblicherweise nicht im Pfad.
Nur dumm, dass »c:\windows\command\start.exe« nicht nur im Pfad,
sondern auch unter
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
nachsieht - und da trägt sich das Install von allen mir bekannten
32-bittigen MS-Words ein.
Genaugenommen macht »start abcde« genau dasselbe, wie wenn man »abcde«
im Ausführen-Dialog reinschreibt.
Aber, du hast schon recht: ohne »start« sucht er nur im path.
Michael
--
"New" PGP Key! User ID: Michael Schierl <schi...@gmx.de>
Key ID: 0x58B48CDD Size: 2048 Created: 26.03.2002
Fingerprint: 68CE B807 E315 D14B 7461 5539 C90F 7CC8
http://home.arcor.de/mschierlm/mschierlm.asc