On-line: tnsr2, гостей 1. Всего: 2 [подробнее..]
АвторСообщение
Администратор




Пост N: 643
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 22.11.07 14:22. Заголовок: Как запустить excel


или получить каталог установки MS Office

__run('excel.exe')

выдает ошибку - нет такой программы

В тоже время из командной строки excel.exe запускается


Спасибо: 0 
Профиль
Ответов - 4 [только новые]


модератор




Пост N: 653
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 22.11.07 15:09. Заголовок: Pasha пишет: из ком..


Pasha пишет:

 цитата:
из командной строки excel.exe запускается





Попробуй использовать эту функцию для расширения XLS:

--------------------------------------------------------*
Static Function GetOpenCommand( cExt )
*--------------------------------------------------------*
Local oReg, cVar1 := "", cVar2 := "", nPos

If ! ValType( cExt ) == "C"
Return ""
Endif

If ! Left( cExt, 1 ) == "."
cExt := "." + cExt
Endif

oReg := TReg32():New( HKEY_CLASSES_ROOT, cExt, .f. )
cVar1 := RTrim( StrTran( oReg:Get( Nil, "" ), Chr(0), " " ) ) // i.e look for (Default) key
oReg:close()

If ! Empty( cVar1 )
oReg := TReg32():New( HKEY_CLASSES_ROOT, cVar1 + "\shell\open\command", .f. )
cVar2 := RTrim( StrTran( oReg:Get( Nil, "" ), Chr(0), " " ) ) // i.e look for (Default) key
oReg:close()

If ( nPos := RAt( " %1", cVar2 ) ) > 0 // look for param placeholder without the quotes (ie notepad)
cVar2 := SubStr( cVar2, 1, nPos )
Elseif ( nPos := RAt( '"%', cVar2 ) ) > 0 // look for stuff like "%1", "%L", and so forth (ie, with quotes)
cVar2 := SubStr( cVar2, 1, nPos - 1 )
Elseif ( nPos := RAt( '%', cVar2 ) ) > 0 // look for stuff like "%1", "%L", and so forth (ie, without quotes)
cVar2 := SubStr( cVar2, 1, nPos - 1 )
Elseif ( nPos := RAt( ' /', cVar2 ) ) > 0 // look for stuff like "/"
cVar2 := SubStr( cVar2, 1, nPos - 1 )
Endif
Endif

Return RTrim( cVar2 )


Спасибо: 0 
Профиль
Администратор




Пост N: 644
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 22.11.07 15:54. Заголовок: Спасибо, все получил..


Спасибо, все получилось

Спасибо: 0 
Профиль



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 22.11.07 16:01. Заголовок: Pasha пишет: получи..


Pasha пишет:

 цитата:
получить каталог установки MS Office


Может файвиновский код на какую мысль натолкнет с учетом совета Григория :)

****************************
Function MSWORD_PATH()
*---------------------
Local nHandle, cValue := ""
if RegOpenKey( HKEY_LOCAL_MACHINE,;
"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths", @nHandle ) == 0
RegQueryValue( nHandle, "WINWORD.EXE", @cValue )
cValue := lfn2sfn(cValue)
RegCloseKey( nHandle )
endif

Return (cValue)


Спасибо: 0 
Администратор




Пост N: 645
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 22.11.07 17:47. Заголовок: Спасибо ! И так рабо..


Спасибо !
И так работает, и сяк работает :)

В конце концов остановился на функции

Function MSExcel_PATH
Return GetRegistry(, "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\excel.exe", 'Path' )

которая использует стандартные средства харбора для работы с реестром


Спасибо: 0 
Профиль
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 293
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет