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 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
| strComputer = "." ' ou est déclarée cette variable strComputer ???
Set WshNetwork = WScript.CreateObject("WScript.Network")' ou est déclarée cette variable WshNetwork ???
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")' ou est déclaré cette variable objWMIService ???
'--------------------------------------------------------------------------------
Dim xlApp
On Error Resume Next
Set xlApp = CreateObject("Excel.Application")
If Err.Number = 0 Then
'If Err.Number <> 0 Then
Err.Clear
'MsgBox "There"
xlApp.Close ' ?????????? pourquoi fermer pour ré-ouvrir sous objXL ??????????
'--------------------------------------------------------------------------------
Dim objXL
'Const ForAppending = 8 'inutile ICI
Set objFSO = CreateObject("Scripting.FileSystemObject")' ou est déclarée cette variable objFSO ???
Set objXL = WScript.CreateObject("Excel.Application")
objXL.Workbooks.Add
objXL.Cells(1, 1).Value = "Nom"
objXL.Cells(1, 2).Value = "OS+SP"
objXL.Cells(1, 3).Value = "Version"
objXL.Cells(1, 4).Value = "# Série"
objXL.Cells(1, 5).Value = "Fabriquant"
objXL.Cells(1, 6).Value = "Modèle"
objXL.Cells(1, 7).Value = "Mémoire"
objXL.Cells(1, 8).Value = "Installé le"
objXL.Cells(1, 9).Value = "Version Office"
objXL.Cells(1, 10).Value = "Date Inventaire"
objXL.Columns(1).ColumnWidth = 28
objXL.Columns(2).ColumnWidth = 65
objXL.Columns(3).ColumnWidth = 20
objXL.Columns(4).ColumnWidth = 15
objXL.Columns(5).ColumnWidth = 20
objXL.Columns(6).ColumnWidth = 20
objXL.Columns(7).ColumnWidth = 20
objXL.Columns(8).ColumnWidth = 20
objXL.Columns(9).ColumnWidth = 20
objXL.Range("A1:J1").Select
objXL.Selection.Font.ColorIndex = 41
objXL.Selection.Font.Bold = True
objXL.Selection.Font.Size = 13
objXL.Selection.Interior.ColorIndex = 46
objXL.Selection.Interior.Pattern = 1 'xlSolid
'------------------------------------------------------------------------------------
Set dtmInstallDate = CreateObject("WbemScripting.SWbemDateTime")' ou est déclarée cette variable dtmInstallDate ???
' Une fonction dans un If ..... Then !!!!!!!!!!!!!!!!!! et sa fonctionne ??? là j'aurai appris quelque chose
Function getmydat(wmitime)
dtmInstallDate.Value = wmitime
getmydat = dtmInstallDate.GetVarDate
End function
'
Set colSettings = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")' ou est déclarée cette variable colSettings ???
For Each objOperatingSystem in colSettings' ou est déclarée cette variable objOperatingSystem ???
i = i + 1
objXL.Cells(i+2,1).Value=UCase(WshNetwork.ComputerName)
objXL.Cells(i+2,2).value=objOperatingSystem.Caption & " - Service Pack " & objOperatingSystem.ServicePackMajorVersion
objXL.Cells(i+2,3).value=objOperatingSystem.Version
objXL.Cells(i+2,4).value=objOperatingSystem.SerialNumber
objXL.Cells(i+2,8).value=getmydat (objOperatingSystem.InstallDate)
Next
'------------------------------------------------------------------------------------------
Set colSettings = objWMIService.ExecQuery("Select * from Win32_ComputerSystem")
For Each objComputer in colSettings' ou est déclarée cette variable objComputer ???
objXL.Cells(i+2,5).value=objComputer.Manufacturer
objXL.Cells(i+2,6).value=objComputer.Model
objXL.Cells(i+2,7).value=objComputer.TotalPhysicalMemory
Next
'-------------------------------------------------------------------------------------------------
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery ("Select * from Win32_Product Where Caption Like '%Microsoft Office%'")
For Each objItem In colItems' ou est déclarée cette variable objItem et colItems ???
If Left(objItem.Version, 2) = "14" Then
objXL.Cells(i+2,9).value="Office 2010"
ElseIf Left(objItem.Version, 2) = "12" Then
objXL.Cells(i+2,9).value="Office 2007"
ElseIf Left(objItem.Version, 2) = "11" Then
objXL.Cells(i+2,9).value="Office 2003"
ElseIf Left(objItem.Version, 2) = "10" Then
objXL.Cells(i+2,9).value="Office XP"
Else
objXL.Cells(i+2,9).value="Autre"
End If
Next
objXL.Cells(i+2,10).value=Date
'-----------------------------------------------------------------------------------------------
objXL.Visible = False
objXL.Application.DisplayAlerts = False
objXL.ActiveWorkbook.SaveAs "\\127.0.0.1\IVentory\PC.xls"
objXL.ActiveWorkbook.Close
objXL.Quit
Set objXL = Nothing
'..........................................................................................................................
Else 'else de la condition ligne 9, If Err.Number = 0 Then (erreur vérifiée suite à Set xlApp = CreateObject("Excel.Application")).
'..........................................................................................................................
' donc ici on est Err.number <> 0 donc xlApp est Nothing
'xlApp.Close ' xlApp n'est donc pas ouvert
'la constante ForAppending = 8 étant déclarée dans la condition vraie de la ligne 9 (erreur = 0)
'elle n'est pas initialisée dans cette partie
Const ForAppending = 8 'donc là déclarer ICI
'-----------------------------------------------------------------------------------------------------
Dim strFile, strText 'strDirectory,
'strDirectory = "\\127.0.0.1\Iventory" ' non utilisé ICI
strFile = "\PCNoExcel.txt"
strText = "PC Withoot Excel"
'---------------------------------------------------------------------------------------------------------
set objFSO = CreateObject("Scripting.FileSystemObject") ' ou est déclarée cette variable objFSO ???
set objFile = objFSO.OpenTextFile(strFile, ForAppending, True)
objFile.WriteLine(WshNetwork.ComputerName & " - " & Now)
objFile.Close
'-----------------------------------------------------------------------------------------------------
End If |
Partager