home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Programmer's Journal Buyer's Guide / Visual_Basic_Programmers_Journal_Buyers_Guide_CD-ROM_1994.iso / vbitsdm2 / vbaxtra / startomb / startomb.bas next >
Encoding:
BASIC Source File  |  1994-03-17  |  2.5 KB  |  75 lines

  1. Declare Function FindWindow Lib "User" (ByVal lpClassName As Any, ByVal lpWindowName As Any) As Integer
  2. Global XLApp As object
  3. Global XLSheet As object
  4. Global XLAddin As object
  5.  
  6. Sub Main ()
  7. OMBName$ = "Object Model Browser"
  8. TempCap$ = "Running:" + Chr$(160) + OMBName$
  9. On Error Resume Next
  10. Debug.Print XLApp.Caption
  11. If Err Then  'We've lost the App!
  12.     Set XLApp = Nothing
  13.     Set XLAddin = Nothing
  14.     Set XLSheet = Nothing
  15.     Err = 0
  16. End If
  17. If XLApp Is Nothing Then
  18.   If FindWindow("XLMAIN", 0&) Then
  19.       Set XLSheet = CreateObject("Excel.Sheet") 'Excel already running, don't need a new instance
  20.       XLSheet.Parent.Windows(1).Visible = False
  21.       Set XLApp = XLSheet.Application
  22.   Else
  23.       Set XLApp = CreateObject("Excel.Application")
  24.       XLApp.WindowState = -4140 'xlMinimized
  25.   End If
  26. End If
  27. XLAppStartWindowState% = XLApp.WindowState
  28. XLApp.WindowState = -4140 'xlMinimized
  29. XLApp.Visible = True
  30. XLAppStartName$ = XLApp.Caption
  31. XLApp.Caption = XLApp.Name
  32. AppActivate XLApp.Name
  33. On Error Resume Next
  34. If XLAddin Is Nothing Then Set XLAddin = XLApp.Addins(OMBName$)
  35. If Err Then
  36.     Err = 0
  37.     XLApp.Caption = "Adding OMB.XLA"
  38.     RetVal = XLApp.GetOpenFilename("AddIns (*.xla),omb.xla", 1, "Find XLA.OMB")
  39.     If IsNumeric(RetVal) Then
  40.     ElseIf InStr(1, RetVal, "OMB.XLA", 1) = Len(RetVal) - 6 Then
  41.         If XLSheet Is Nothing Then 'Addins.Add fails with CreateObject instance.
  42.             XLApp.Workbooks.Open RetVal
  43.             Set XLAddin = XLApp.Workbooks("OMB.XLA")
  44.         Else
  45.             XLApp.Addins.Add RetVal
  46.             XLApp.Caption = "Installing OMB.XLA"
  47.             XLApp.Addins(OMBName$).Installed = True
  48.             Set XLAddin = XLApp.Addins(OMBName$)
  49.         End If
  50.         XLApp.Caption = TempCap$
  51.         XLApp.Run "StartObjectModelBrowser"
  52.     End If
  53. Else
  54.     instflag% = XLApp.Addins(OMBName$).Installed
  55.     If Not instflag% Then
  56.         XLApp.Caption = "Installing OMB.XLA"
  57.         XLApp.Addins(OMBName$).Installed = True
  58.         XLApp.Caption = TempCap$
  59.         XLApp.Run "StartObjectModelBrowser"
  60.     Else
  61.         XLApp.Caption = TempCap$
  62.         XLApp.Run "StartObjectModelBrowser"
  63.         If Err Then  'Fast loaded only, force install
  64.             Err = 0
  65.             XLAddin.Installed = False
  66.             XLAddin.Installed = True
  67.             XLApp.Run "StartObjectModelBrowser"
  68.         End If
  69.     End If
  70. End If
  71. XLApp.WindowState = XLAppStartWindowState%
  72. XLApp.Caption = XLAppStartName$
  73. End Sub
  74.  
  75.