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 )