home *** CD-ROM | disk | FTP | other *** search
- Declare Function FindWindow Lib "User" (ByVal lpClassName As Any, ByVal lpWindowName As Any) As Integer
- Global XLApp As object
- Global XLSheet As object
- Global XLAddin As object
-
- Sub Main ()
- OMBName$ = "Object Model Browser"
- TempCap$ = "Running:" + Chr$(160) + OMBName$
- On Error Resume Next
- Debug.Print XLApp.Caption
- If Err Then 'We've lost the App!
- Set XLApp = Nothing
- Set XLAddin = Nothing
- Set XLSheet = Nothing
- Err = 0
- End If
- If XLApp Is Nothing Then
- If FindWindow("XLMAIN", 0&) Then
- Set XLSheet = CreateObject("Excel.Sheet") 'Excel already running, don't need a new instance
- XLSheet.Parent.Windows(1).Visible = False
- Set XLApp = XLSheet.Application
- Else
- Set XLApp = CreateObject("Excel.Application")
- XLApp.WindowState = -4140 'xlMinimized
- End If
- End If
- XLAppStartWindowState% = XLApp.WindowState
- XLApp.WindowState = -4140 'xlMinimized
- XLApp.Visible = True
- XLAppStartName$ = XLApp.Caption
- XLApp.Caption = XLApp.Name
- AppActivate XLApp.Name
- On Error Resume Next
- If XLAddin Is Nothing Then Set XLAddin = XLApp.Addins(OMBName$)
- If Err Then
- Err = 0
- XLApp.Caption = "Adding OMB.XLA"
- RetVal = XLApp.GetOpenFilename("AddIns (*.xla),omb.xla", 1, "Find XLA.OMB")
- If IsNumeric(RetVal) Then
- ElseIf InStr(1, RetVal, "OMB.XLA", 1) = Len(RetVal) - 6 Then
- If XLSheet Is Nothing Then 'Addins.Add fails with CreateObject instance.
- XLApp.Workbooks.Open RetVal
- Set XLAddin = XLApp.Workbooks("OMB.XLA")
- Else
- XLApp.Addins.Add RetVal
- XLApp.Caption = "Installing OMB.XLA"
- XLApp.Addins(OMBName$).Installed = True
- Set XLAddin = XLApp.Addins(OMBName$)
- End If
- XLApp.Caption = TempCap$
- XLApp.Run "StartObjectModelBrowser"
- End If
- Else
- instflag% = XLApp.Addins(OMBName$).Installed
- If Not instflag% Then
- XLApp.Caption = "Installing OMB.XLA"
- XLApp.Addins(OMBName$).Installed = True
- XLApp.Caption = TempCap$
- XLApp.Run "StartObjectModelBrowser"
- Else
- XLApp.Caption = TempCap$
- XLApp.Run "StartObjectModelBrowser"
- If Err Then 'Fast loaded only, force install
- Err = 0
- XLAddin.Installed = False
- XLAddin.Installed = True
- XLApp.Run "StartObjectModelBrowser"
- End If
- End If
- End If
- XLApp.WindowState = XLAppStartWindowState%
- XLApp.Caption = XLAppStartName$
- End Sub
-
-