Запуск Excel

MapInfo, MapBasic
Ответить
kad3
Интересующийся
Сообщения: 31
Зарегистрирован: 13 май 2016, 13:49
Репутация: 4

Запуск Excel

Сообщение kad3 »

Добрый день!
Подскажите как запустить Excel из Mapbasic
конструкция вида

Код: Выделить всё

 Run Program "C:\Program Files (x86)\Microsoft Office\Office14\Excel.exe"
не подходит т.к. Excel может быть установлен где угодно. Или как возможно получить путь где установлен Excel.
trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Запуск Excel

Сообщение trir »

kad3
Интересующийся
Сообщения: 31
Зарегистрирован: 13 май 2016, 13:49
Репутация: 4

Re: Запуск Excel

Сообщение kad3 »

trir писал(а): 10 окт 2019, 11:43https://www.actualinstaller.com/help/winword.html
А как мне это использовать в mapbasic?
Можно примерчик?
trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Запуск Excel

Сообщение trir »

нельзя, нужно пытать реестр - там всё записанно
kad3
Интересующийся
Сообщения: 31
Зарегистрирован: 13 май 2016, 13:49
Репутация: 4

Re: Запуск Excel

Сообщение kad3 »

Если вдруг кому интересно

Код: Выделить всё

function GetExePath (Byval ExeName as string) as string 

Dim lRetVal As integer 
Dim hKey,sType,Ssize As integer 
Dim sValue,SKey As String 

GetExePath="c:\program files\" 
sType =REG_SZ 
Ssize =1024 

SKey="Software\Microsoft\Windows\CurrentVersion\App Paths\" & ExeName 
lRetVal = RegOpenKey(HKEY_LOCAL_MACHINE,SKey,hKey) 

If lRetVal <> ERROR_SUCCESS Then 
        exit function 
Else 
        sValue =string$(ssize,chr$(32)) 

        lRetVal = RegQueryValueEx(hKey,"Path", 0, sType , sValue, Ssize ) 
        If lRetVal <> ERROR_SUCCESS Then 
                exit function 
        Else 
                GetExePath =rtrim$(sValue) 
                if right$(rtrim$(sValue),1)<>"\" then 
                        GetExePath=rtrim$(sValue) & "\" 
                end if 
        End If 
        lRetVal = RegCloseKey(hKey) 

End If 

End function 
MI user
Участник
Сообщения: 65
Зарегистрирован: 14 янв 2013, 17:08
Репутация: -1238093703
Откуда: *рг

Re: Запуск Excel

Сообщение MI user »

Вот такой вариант:

Код: Выделить всё

Run Program "cmd.exe /c start excel.exe"
gamm
Гуру
Сообщения: 4170
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

Re: Запуск Excel

Сообщение gamm »

kad3 писал(а): 10 окт 2019, 11:23Подскажите как запустить Excel из Mapbasic
а зачем вам его запускать? Если нужно использовать, то дергайте через старый добрый DDE (Глава 11 мануала по Мапвасику) или AciveX (или как оно нынче называется), сочинив соответствующую DLL.
Ответить

Вернуться в «MapInfo»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость