1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
| Sub Main
'-- Start Impromptu
Dim oShell
Set oShell = WScript.CreateObject("WScript.Shell")
oShell.Run """" & "C:\Program Files\Cognos\Cer5\Bin\ImpAdmin.exe" & """", 0, False
Set oShell = Nothing
'-- Wait for Impromptu Administrateur to start
Dim oWMIService
Set oWMIService = GetObject("winmgmts:\\" & "." & "\root\cimv2")
Dim oItem
Dim oColItems
Dim Compteur: Compteur = 0
While (Compteur = 0)
Compteur=0
Set oColItems = oWMIService.ExecQuery("Select Caption from Win32_Process where Caption='ImpAdmin.exe'",,48)
For Each oItem in oColItems
Compteur = Compteur + 1
Next
WScript.Sleep 2000
Wend
Set oItem = nothing
Set oColItems = nothing
Set oWMIService = nothing
'-- Get Object Impromptu
Dim objImpApp
Set objImpApp = GetObject(, "CognosImpromptu.Application")
'-- Ouverture du catalogue
objImpApp.OpenCatalog "S:\Applis\Pack_Harmonise\CodaSecur\_commun\Catalogues\CAT00000.cat", "Auteur", , , , 0
Dim objImpCat
Set objImpCat = objImpApp.ActiveCatalog
' Utilisation des objets Impromptu
' ...
msgbox objImpCat.ActiveUserClass.Name
' ...
'-- Kill running 'ImpAdmin.exe'
Dim objWMIService
Set objWMIService = GetObject("winmgmts:\\" & "." & "\root\cimv2")
Dim objProcessList
Set objProcessList = objWMIService.ExecQuery ("Select * from Win32_Process Where Name = 'ImpAdmin.exe'")
Dim Proc: Proc = ""
fOr Each Proc in objProcessList
Proc.Terminate()
next
Set objProcessList = nothing
Set objWMIService = nothing
'-- Suppresion des objets utilisés --
Set objImpCat = Nothing
Set objImpApp = Nothing
End sub |
Partager