[Java] Запуск приложения
Runtime.getRuntime.exec(... кажется
Или открыть определенный документ?
Да можно, почему ж нельзя. Маршаллинг в джаве есть?
COM в Java очень плохой и кривой. Я бы посоветовал для решения такой деликатной проблемы писать native код на C++.
писать native код на C++.
А ведь это вариант!
Маршаллинг в джаве есть?
Это что такое?
1). Взять какую-нибудь библиотеку Java/COM bridge, например бесплатные jawin или jacob . Обе библиотеки позволяют работать с Word как с Automation сервером. Недостатки: работает достаточно медленно. Если валится Word (а он падает периодически, с этим ничего не сделать то Java приложение тоже может помереть.
2). Написать все руками используя JNI. Несложно, но требует аккуратности и времени. Как и в п. 1. полезно посматривать справку по объектной модели Word'а и записывать макросы с последующм просмотром кода на VBA, чтобы знать, какие методы/проперти дергать. Сломавшийся Word, как и в п1. может унести в могилу приложение тоже.
3). Последние версии Word умеют понимать XML, формат называется WordML, схема находится гуглом, соответственно можно попробовать генерировать такие файлы. Генерировать можно и не с нуля, а используя готовую болванку, предварительно созданную в том же Word.
Оставить комментарий
Nikitin
Как в Jave запускать приложения?Например, если я хочу открыть документ MS Word. И еще записать в него какой-нибудь текст.