Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / чтение реестра / 6 сообщений из 6, страница 1 из 1
25.04.2003, 14:22
    #32148941
Света_3
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чтение реестра
Как узнать путь к файлу excel.exe? Надо запустить Excel из приложения не поддерживающего OLE и VBA
...
Рейтинг: 0 / 0
25.04.2003, 14:42
    #32148964
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чтение реестра
>из приложения не поддерживающего OLE и VBA
0. А что, поэтому приложению форума нет?
1. А что, поиск в реестре слова excel.exe ни чего не дал?
2. Найди все файлы екцеля (их м.б. несколько), сравни версии, выбери наиболее свежую, в далее функция типа Shell...
...
Рейтинг: 0 / 0
25.04.2003, 14:42
    #32148965
DIKI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чтение реестра
Попрубуй так:


Код: plaintext
1.
2.
3.
4.
5.
6.
Private Declare Function ShellExecute Lib  "Shell32.dll"  _
    Alias  "ShellExecuteA"  (ByVal Hwnd As Long, ByVal _
    lpOperation As String, ByVal lpFile As String, ByVal _
    lpParameters As String, ByVal lpDirectory As String, _
    ByVal nShowCmd As Long) As Long

ShellExecute  0 ,  "open" , NAME_FILE, "", App.Path, SW_SHOWNORMAL
...
Рейтинг: 0 / 0
25.04.2003, 15:24
    #32149028
Света_3
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чтение реестра
0. Форум есть, но вообще никто не знает, как теми средствами прочитать реестр. Как запустить - это понятно - эта штучка работает через DDE, не понятно одно как из реестра вытащить путь к файлу excel.exe.
т.е. нужна dll - возвращающая путь к файлу excel.exe
...
Рейтинг: 0 / 0
25.04.2003, 15:55
    #32149072
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чтение реестра
>не понятно одно как из реестра вытащить путь к файлу excel.exe.

Тогда п.2
Ищеш сам екцел в реестре или упоминание о каталоге установки офиса (тогда надо добавить только +"\Office\excеl.exe"/ Структура реестра у всех компов одинакова (надо только уточнить отличие NT от 9х)
...
Рейтинг: 0 / 0
25.04.2003, 16:33
    #32149130
NNN
NNN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чтение реестра
> Форум есть, но вообще никто не знает, как теми средствами прочитать реестр.

Знаем, только VB у нас нет. Держи вордовский макрос. Перевод в VB, обработка ошибок, оформление процедур - на твоей совести:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
Private Declare Function RegOpenKeyEx Lib  "advapi32"  Alias _
       "RegOpenKeyExA"  (ByVal hKey As Long, ByVal lpSubKey As String, _
      ByVal dwReserved As Long, ByVal samDesired As Long, phkResult _
      As Long) As Long

      Private Declare Function RegQueryValueEx Lib  "advapi32"  Alias _
       "RegQueryValueExA"  (ByVal hKey As Long, ByVal lpValueName$, ByVal _
      lpdwReserved As Long, lpdwType As Long, lpData As Any, lpcbData As _
      Long) As Long

      Private Declare Function RegCloseKey Lib  "advapi32"  (ByVal hKey As _
      Long) As Long

      Const REG_SZ =  1 
      Const HKEY_CLASSES_ROOT = - 2147483648 #
' -------------------------------------------------------------------------------
 
Sub GetExcelPath()
Dim lcExt As String
Dim lcPath As String
Dim hKey As Long
Dim x1, x2 As Integer
lcString =  ".XLS" 
lcPath = Space( 256 )
nPath =  256 
RegOpenKeyEx HKEY_CLASSES_ROOT, lcString,  0 ,  0 , hKey
RegQueryValueEx hKey,  "", 0 ,  0 , ByVal lcPath, nPath
RegCloseKey hKey
lcString = Left(lcPath, nPath -  1 ) & "\Shell\Open\Command "
lcPath = Space(256 )
nPath =  256 
RegOpenKeyEx HKEY_CLASSES_ROOT, lcString,  0 ,  0 , hKey
RegQueryValueEx hKey, "",  0 , REG_SZ, ByVal lcPath, nPath
RegCloseKey hKey
lcPath = Left(lcPath, nPath- 1 )
x1 = InStr( 1 , lcPath, Chr( 34 )) +  1 
x2 = InStr( 2 , lcPath, Chr( 34 ))
lcPath=Mid(lcPath, x1, x2 - x1)
Shell lcPath
End Sub
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / чтение реестра / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]