Страница 1 из 1
					
				Запуск Excel
				Добавлено: 10 окт 2019, 11:23
				 kad3
				Добрый день!
Подскажите как запустить Excel из Mapbasic
конструкция вида 
Код: Выделить всё
 Run Program "C:\Program Files (x86)\Microsoft Office\Office14\Excel.exe"
 не подходит т.к. Excel может быть установлен где угодно. Или как возможно получить путь где установлен Excel.
 
			
					
				Re: Запуск Excel
				Добавлено: 10 окт 2019, 11:43
				 trir
				
			 
			
					
				Re: Запуск Excel
				Добавлено: 10 окт 2019, 11:55
				 kad3
				
А как мне это использовать в mapbasic?
Можно примерчик?
 
			
					
				Re: Запуск Excel
				Добавлено: 10 окт 2019, 13:28
				 trir
				нельзя, нужно пытать реестр - там всё записанно
			 
			
					
				Re: Запуск Excel
				Добавлено: 11 окт 2019, 06:56
				 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 
 
			
					
				Re: Запуск Excel
				Добавлено: 11 окт 2019, 07:52
				 MI user
				
			 
			
					
				Re: Запуск Excel
				Добавлено: 11 окт 2019, 13:06
				 gamm
				kad3 писал(а): ↑10 окт 2019, 11:23Подскажите как запустить Excel из Mapbasic
 
а зачем вам его запускать? Если нужно использовать, то дергайте через старый добрый DDE (Глава 11 мануала по Мапвасику) или AciveX (или как оно нынче называется), сочинив соответствующую DLL.