Article ID: 138723
Article Last Modified on 8/17/2005
Dim myExcelApp As Object Set myExcelApp = GetObject(, "Excel.Application")
LPOLESTR lpszProgID = OLESTR("Excel.Application");
LPUNKNOWN pUnk;
if (FAILED(CLSIDFromProgID(lpszProgID, &clsid)))
return;
HRESULT hr =GetActiveObject(clsid,NULL,pUnk);
This code will not work with Microsoft Excel version 7.0, even if Microsoft
Excel is running.
Private Declare Function FindWindowA lib "User32" (byval sClass as String,
byval xTitle as long) as long
Private Declare Function SendMessageA lib "User32" (byval hwnd as long,
byval msg as long, byval wParam as long, byval lParam as long) as long
Private const WM_USER = 1024
Dim myExcelApp As Object
sub KickExcel()
dim hwnd as long
hwnd = FindWindowA("XLMAIN", 0)
if hwnd = 0 then
msgbox "No instances of Excel running?"
exit sub
endif
SendMessageA hwnd, WM_USER + 18, 0, 0
Set myExcelApp = GetObject(, "Excel.Application")
end sub
LPOLESTR lpszProgID = OLESTR("Excel.Application");
LPUKNOWN pUnk;
HWND hExcelMainWnd =0;
hExcelMainWnd = FindWindow("XLMAIN",NULL);
if(!hExcelMainWnd)
MessageBox(NULL,"No instances of Excel running?","Error",MB_OK);
SendMessage(hExcelMainWnd,WM_USER + 18, 0, 0);
if (FAILED(CLSIDFromProgID(lpszProgID, &clsid)))
return;
HRESULT hr =GetActiveObject(clsid,NULL,pUnk);
Additional query words: kbinf launched
Keywords: kbnoupdate KB138723