java.Определить, какой офис установлен в системе.

evgeniy

Возможно ли средствами java узнать какая версия офиса(конкретно excel) установлена на данном компьютере? Подскажите, пожалуйста.

kokoc88

Только через библиотеки COM или чтения реестра.

evgeniy

а можно как-нибудь подробнее? Вот как например с помощью явы можно залесть в реестр?

anton7805

лучше залезть в реестр на с++ , сварганить dll , а потом используя JNI вызвать эту dll и выполнить задачу

evgeniy

ой. мне бы все-таки хотелось без с++ обойтись.

anton7805

тогда через COM придется. Не думаю, что это удобнее

psm-home

public class WordVersion {
private static final String WORD_PROGID = "Word.Application";
String version;
public WordVersion {
ComThread.InitSTA;
ActiveXComponent word = null;
try {
word = new ActiveXComponent( WORD_PROGID );
version = word.getPropertyAsString( "Version" );
} finally {
try {
if ( word != null ) {
word.invoke( "Quit", new Variant[] {} );
}
} catch( Throwable t ) {}
ComThread.Release;
}
}
public String getVersion {
return version;
}
public static void main(String[] args) {
System.out.println( new WordVersion.getVersion );
}
}

Нажна библиотека jacob с SourceForge . В пример добавить логгинг/более хорошую обработку ошибок по вкусу.

evgeniy

о, спасибо большое!
сейчас буду пробовать.
Оставить комментарий
Имя или ник:
Комментарий: