Ik heb een .ini dossier dat een inventaris van een PC is. Een macro is gecre�ërd om info te trekken uit het en een XLS file
It te bevolken werkt boete wanneer er slechts één lijn in het dossier voor bepaalde info is. Nochtans, willen wij ook alle printers zien een persoon has.
In het dossier, kijkt het like
MappedPrinter .......: PMT: = Tesia PMT MappedPrinter .......: TesiaPort: = Tesia MappedPrinter .......: NVM5: = Verzend naar Dentrix Document Center MappedPrinter .......: XPSPort: = Van Microsoft Xps- Document Writer MappedPrinter .......: De Haven van de Schrijver van de Weergave van het Document van Microsoft: = Het Beeld Writer MappedPrinter van het Document van Microsoft Office .......: HPFAX: = PK LaserJet 3050_3055_3390_3392 Fax MappedPrinter .......: DOT4_001 = PK LaserJet 3050 Reeksen PCL 6 (Exemplaar 1) MappedPrinter .......: IP_ 170.11.115.21 = Canon iR5000-6000-L1 PCL5e CP Barn
afhankelijk van daar persoon, kunnen zij printers min of meer hebben.
When I opstellingscode gelijkend op andere fields
indien Verlaten (xR, 13) = de Cellen van „MappedPrinter“ Then
(zZ, 23) = Juist (xR, Len (xR) - 22)
Eind If
This toont slechts laatste van In kaart gebrachte info van de Printer van „IP_ 170.11.115.21 = de Schuur van Canon iR5000-6000-L1 PCL5e CP "
So het aan lijn op zich vereist telkens als het MappedPrinter zag, creërend een koord dat zal groeien (hebben misschien één of andere soort binnen toegevoegde separatortekst - tussen info.
Up bij de bovenkant van het manuscript VB, heb ik een variabele van „printerInfo gecre�ërd aangezien het Koord "
Below de code VBS van Macro is
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:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
|
" codeBody "
expliciete Option
Openbare xR, zZ zo lang, daRows, memoryTotal zoals Geheel, die als Koord, printerInfo als Koord, startPos als Geheel, I als Geheel het memSubString, als Koord driveSize, freeSpace als Koord, percentFree als Geheel
Sub getFields ()
daRows = Application.CountA (ActiveSheet.Range („A: “)) 'Bepaal # van rijen
Voor zZ = 2 aan lijn van de daRows de 'Opstelling
Open Cellen (zZ, 1) Voor de Toegang van de Input die als #6 'Open te lezen dossier wordt gelezen
Doe terwijl niet EOF (6)
De Input van de lijn #6, xR 'las een lijn
Indien Weggegaan (xR, 13) = „InventoryDate“ toen
Cellen (zZ, 2) = Juist (xR, Len (xR) - 22)
Eind als
Indien Weggegaan (xR, 12) = „Computername“ toen
Cellen (zZ, 3) = Juist (xR, Len (xR) - 22)
Eind als
Indien Weggegaan (xR, 14) = „CsSerialNumber“ toen
Cellen (zZ, 4) = Juist (xR, Len (xR) - 22)
Eind als
Indien Weggegaan (xR, 15) = „CsComputerModel“ toen
Cellen (zZ, 5) = Juist (xR, Len (xR) - 22)
Eind als
Indien Weggegaan (xR, 8) = „Gebruikersbenaming“ toen
Cellen (zZ, 6) = Juist (xR, Len (xR) - 22)
Eind als
Indien Weggegaan (xR, 11) = „PrimaryUser“ toen
Cellen (zZ, 7) = Juist (xR, Len (xR) - 22)
Eind als
Indien Weggegaan (xR, 8) = „Plaats“ toen
Cellen (zZ, 8) = Juist (xR, Len (xR) - 22)
Eind als
Indien Weggegaan (xR, 7) = „Bedrijf“ toen
Cellen (zZ, 9) = Juist (xR, Len (xR) - 22)
Eind als
Indien Weggegaan (xR, 10) = „Afdeling“ toen
Cellen (zZ, 10) = Juist (xR, Len (xR) - 22)
Eind als
Indien Weggegaan (xR, 7) = „CpuName“ toen
Cellen (zZ, 11) = Juist (xR, Len (xR) - 22)
Eind als
Indien Weggegaan (xR, 13) = „CpuClockSpeed“ toen
Cellen (zZ, 12) = Juist (xR, Len (xR) - 22)
Eind als
'Placeholder voor Drive0 en Drive1
Indien Weggegaan (xR, 24) = „HardDrive ...........: C: “ Toen
'Initialiseer variabelen
driveSize = ""
'Vindt de beginnende positie van de harde aandrijvingsgrootte
startPos = InStr (1, xR, „size=“)
startPos = startPos + 5
Doe terwijl Medio Asc ((xR, startPos, 1)) >= 48 en _
Medio Asc ((xR, startPos, 1)) <= 57 of _
Medio Asc ((xR, startPos, 1)) = 45
driveSize = driveSize & Medio (xR, startPos, 1)
startPos = startPos + 1
Lijn
Als IsNumeric (driveSize) toen
driveSize = (driveSize)
Beëindig als
Cellen (zZ, 16) = (driveSize)/1024/1024/1024
Beëindig als
Indien Weggegaan (xR, 24) = „HardDrive ...........: C: “ Toen
'Initialiseer variabelen
freeSpace = ""
'Vindt de beginnende positie van de harde aandrijvings vrije ruimte
startPos = InStr (1, xR, „free=“)
startPos = startPos + 5
Doe terwijl Medio Asc ((xR, startPos, 1)) >= 48 en _
Medio Asc ((xR, startPos, 1)) <= 57 of _
Medio Asc ((xR, startPos, 1)) = 45
freeSpace = freeSpace & Medio (xR, startPos, 1)
startPos = startPos + 1
Als startPos > (xR) dan de Uitgang Len
Lijn
Als (freeSpace) IsNumeric toen
freeSpace = (freeSpace)
Cellen (zZ, 17) = (freeSpace)/1024/1024/1024
Eind als
Eind als
Indien Weggegaan (xR, 6) = „OsName“ toen
Cellen (zZ, 18) = Juist (xR, Len (xR) - 22)
Eind als
Indien Weggegaan (xR, 43) = „InstalledApp ........: Microsoft Office Stan“ toen
Cellen (zZ, 19) = Juist (xR, Len (xR) - 22)
Eind als
Indien Weggegaan (xR, 43) = „InstalledApp ........: Prof. van Microsoft Office“ toen
Cellen (zZ, 20) = Juist (xR, Len (xR) - 22)
Eind als
Indien Weggegaan (xR, 9) = „IPAddress“ toen
Cellen (zZ, 21) = Juist (xR, Len (xR) - 22)
Eind als
Indien Weggegaan (xR, 9) = „SAVClient“ toen
Cellen (zZ, 22) = Juist (xR, Len (xR) - 22)
Eind als
Indien Weggegaan (xR, 13) = „MappedPrinter“ toen
Cellen (zZ, 23) = Juist (xR, Len (xR) - 22)
Eind als
Indien Weggegaan (xR, 21) = „MemoryModule ........: “ Toen
'Initialiseer variabelen
het memSubString = ""
'Vindt de beginnende positie van het geheugenbedrag
startPos = InStr (1, xR, „size=“)
startPos = startPos + 5
Doe terwijl Medio Asc ((xR, startPos, 1)) >= 48 en _
Medio Asc ((xR, startPos, 1)) <= 57 of _
Medio Asc ((xR, startPos, 1)) = 45
het memSubString = memSubString & Medio (xR, startPos, 1)
startPos = startPos + 1
Lijn
Als IsNumeric (het memSubString) toen
memoryTotal = memoryTotal + CInt (het memSubString)
Eind als
Cellen (zZ, 13) = (memoryTotal) Abs
Eind als
Lijn
Dichte #6 'Dicht het dossier
memoryTotal = 0
Daarna 'Beweging aan volgende lijn
'Voeg kolomkopballen toe
Cellen (1, 2) = „ReportDate“
Cellen (1, 3) = „ComputerName“
Cellen (1, 4) = „Serienummer“
Cellen (1, 5) = „Model“
Cellen (1, 6) = „Gebruikersbenaming“
Cellen (1, 7) = „PrimaryUser“
Cellen (1, 8) = „Plaats“
Cellen (1, 9) = „Bedrijf“
Cellen (1, 10) = „Afdeling“
Cellen (1, 11) = „CPUType“
Cellen (1, 12) = „ClockSpeed“
Cellen (1, 13) = „Geheugen“
Cellen (1, 14) = „Drive0“
Cellen (1, 15) = „Drive1“
Cellen (1, 16) = „CSize“
Cellen (1, 17) = „CFree“
Cellen (1, 18) = „OperSystem“
Cellen (1, 19) = „OfficeStandard“
Cellen (1, 20) = „OfficePro“
Cellen (1, 21) = „IPAddress“
Cellen (1, 22) = „AntiVirus“
Cellen (1, 23) = „MappedPrinter“
MsgBox „Gebeëindigde Verwerking!“
Sub van het eind
|
|