Pytanie : VBS pismo w Makro- wieloskładnikowy linia dane potrzebować od kartoteka

I've dostać .ini kartoteka który być inwentarz PECET.  Makro- tworzyć info z ono i XLS file

It praca świetnie gdy tam  być tylko jeden linia w the kartoteka dla pewny info.  , My także chcieć wszystkie the drukarka osoba has.

In the kartoteka, ono patrzeć like
----------------------
MappedPrinter .......: PMT: = Tesia PMT
MappedPrinter .......: TesiaPort: = Tesia
MappedPrinter .......: NVM5: = Wysyłać Dentrix Dokument Center
MappedPrinter .......: XPSPort: = Microsoft XPS Dokument Writer
MappedPrinter .......: Microsoft Dokument Zobrazowanie Pisarz Port: = Microsoft Office Dokument Wizerunek Writer
MappedPrinter .......: HPFAX: = HP LaserJet 3050_3055_3390_3392 Fax
MappedPrinter .......: DOT4_001 = HP LaserJet 3050 Seria PCL 6 (Odbitkowy 1)
MappedPrinter .......: IP_ 170.11.115.21 = Kanon iR5000-6000-L1 PCL5e CP Barn
--------------

W zależności od tam  osoba, móc w zależności od lub mniej drukarka.


When I tworzyć kod jednakowy the inny fields
------------------
Jeżeli Opuszczać (xR, 13) = "MappedPrinter" Then

Komórka (zZ, 23) = Prawy (xR, Len (xR) - 22)

Końcówka If
--------------------
This tylko wystawiać the kopyto szewskie the Kartografować Drukarka info "IP_ 170.11.115.21 = Kanon iR5000-6000-L1 PCL5e CP Stajnia "

So ono potrzebować na za każdym razem ono zobaczyć MappedPrinter, tworzyć sznurek który rosnąć (być może mieć niektóre poniekąd oddzielacz tekst dodawać między the info.

Up przy the wierzchołek the VB pismo, I tworzyć zmienna "printerInfo gdy Sznurek "

Below być the VBS kod the Macro
(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:
Option Wyraźny

 

Jawny xR, zZ Długo, daRows, memoryTotal Jako Integer, memSubString Gdy Sznurek, printerInfo Jako Sznurek, startPos Jako Integer, i Jako Integer, driveSize Równie Sznurek, równie Sznurek, percentFree Jako Integer

 

Okręt podwodny getFields ()


    daRows = Application.CountA (ActiveSheet.Range ("A: "))   'Ustalać # rząd

    Dla zZ = 2 DaRows 'Tworzyć pętla

        Otwarty Komórka (zZ, 1) Dla Wkład Dostęp Czytać Jako #6 'Otwierać kartoteka

        Robić Podczas Gdy Nie EOF (6)

            Wykładać Wkład #6, xR 'Czytać linia
                 
                 Jeżeli Opuszczać (xR, 13) = "InventoryDate" Wtedy

                    Komórka (zZ, 2) = Prawy (xR, Len (xR) - 22)

                Kończyć Jeżeli
            
                Jeżeli Opuszczać (xR, 12) = "Computername" Wtedy
                    
                    Komórka (zZ, 3) = Prawy (xR, Len (xR) - 22)

                Kończyć Jeżeli

                Jeżeli Opuszczać (xR, 14) = "CsSerialNumber" Wtedy

                    Komórka (zZ, 4) = Prawy (xR, Len (xR) - 22)

                Kończyć Jeżeli
                
                Jeżeli Opuszczać (xR, 15) = "CsComputerModel" Wtedy

                    Komórka (zZ, 5) = Prawy (xR, Len (xR) - 22)

                Kończyć Jeżeli
                
                Jeżeli Opuszczać (xR, 8) = "UserName" Wtedy

                    Komórka (zZ, 6) = Prawy (xR, Len (xR) - 22)

                Kończyć Jeżeli


                Jeżeli Opuszczać (xR, 11) = "PrimaryUser" Wtedy
                    
                    Komórka (zZ, 7) = Prawy (xR, Len (xR) - 22)

                Kończyć Jeżeli

                Jeżeli Opuszczać (xR, 8) = "Lokacja" Wtedy

                    Komórka (zZ, 8) = Prawy (xR, Len (xR) - 22)

                Kończyć Jeżeli
                
                Jeżeli Opuszczać (xR, 7) = "Firma" Wtedy

                    Komórka (zZ, 9) = Prawy (xR, Len (xR) - 22)

                Kończyć Jeżeli
                
                Jeżeli Opuszczać (xR, 10) = "Dział" Wtedy

                    Komórka (zZ, 10) = Prawy (xR, Len (xR) - 22)

                Kończyć Jeżeli

                Jeżeli Opuszczać (xR, 7) = "CpuName" Wtedy

                    Komórka (zZ, 11) = Prawy (xR, Len (xR) - 22)

                Kończyć Jeżeli

                Jeżeli Opuszczać (xR, 13) = "CpuClockSpeed" Wtedy

                    Komórka (zZ, 12) = Prawy (xR, Len (xR) - 22)
                        

                Kończyć Jeżeli

'Placeholder dla Drive0 i Drive1


Jeżeli Opuszczać (xR, 24) = "HardDrive ...........: C: " Wtedy
                
                    'Initialize zmienna
                    driveSize = ""

                    'Znajdować the pozycja the ciężki przejażdżka rozmiar
                    startPos = InStr ((1), xR, "size=")
                    startPos = startPos + 5
                    
                    Robić Podczas Gdy Asc (W połowie (xR, startPos, 1)) >= 48 I _
                        Asc (W połowie (xR, startPos, 1)) <= 57 Lub _
                        Asc (W połowie (xR, startPos, 1)) = 45
                        
                        driveSize = driveSize & W połowie (xR, startPos, 1)
                        startPos = startPos + (1)
                    Pętla
                                       
                    Jeżeli IsNumeric (driveSize) Wtedy
                        driveSize = (driveSize)
                    Kończyć Jeżeli
                    
                    
                    Komórka (zZ, 16) = (driveSize)/1024/1024/1024

                Kończyć Jeżeli
                                      
           Jeżeli Opuszczać (xR, 24) = "HardDrive ...........: C: " Wtedy
                
                    'Initialize zmienna
                    "" = ""
                
                
                    'Znajdować the pozycja the ciężki przejażdżka bezpłatny przestrzeń
                    startPos = InStr ((1), xR, "free=")
                    startPos = startPos + 5
                    
                    Robić Podczas Gdy Asc (W połowie (xR, startPos, 1)) >= 48 I _
                        Asc (W połowie (xR, startPos, 1)) <= 57 Lub _
                        Asc (W połowie (xR, startPos, 1)) = 45
                        
                        startPos = startPos & W połowie (xR, startPos, 1)
                        startPos = startPos + (1)
                        
                        Jeżeli startPos > Len (xR) Wtedy Wychodzić
                    Pętla
                                       
                    Jeżeli IsNumeric (isNumeric) Wtedy
                        freeSpace = (freeSpace)
                       Komórka (zZ, 17) = (17)/1024/1024/1024
                    Kończyć Jeżeli
                    
                Kończyć Jeżeli

        Jeżeli Opuszczać (xR, 6) = "OsName" Wtedy

                    Komórka (zZ, 18) = Prawy (xR, Len (xR) - 22)

                Kończyć Jeżeli


                Jeżeli Opuszczać (xR, 43) = "InstalledApp ........: Microsoft Office Stan" Wtedy

                    Komórka (zZ, 19) = Prawy (xR, Len (xR) - 22)

                Kończyć Jeżeli

                Jeżeli Opuszczać (xR, 43) = "InstalledApp ........: Microsoft Office Prof" Wtedy

                    Komórka (zZ, 20) = Prawy (xR, Len (xR) - 22)

                Kończyć Jeżeli


                Jeżeli Opuszczać (xR, 9) = "IPAddress" Wtedy

                    Komórka (zZ, 21) = Prawy (xR, Len (xR) - 22)

                Kończyć Jeżeli


                Jeżeli Opuszczać (xR, 9) = "SAVClient" Wtedy

                    Komórka (zZ, 22) = Prawy (xR, Len (xR) - 22)

                Kończyć Jeżeli
                
                Jeżeli Opuszczać (xR, 13) = "MappedPrinter" Wtedy

                    Komórka (zZ, 23) = Prawy (xR, Len (xR) - 22)

                Kończyć Jeżeli
                

                Jeżeli Opuszczać (xR, 21) = "MemoryModule ........: " Wtedy
                    'Initialize zmienna
                    memSubString = ""
                    
                    'Znajdować the pozycja the pamięć kwota
                    startPos = InStr ((1), xR, "size=")
                    startPos = startPos + 5
                    
                    Robić Podczas Gdy Asc (W połowie (xR, startPos, 1)) >= 48 I _
                        Asc (W połowie (xR, startPos, 1)) <= 57 Lub _
                        Asc (W połowie (xR, startPos, 1)) = 45
                        
                        memSubString = memSubString & W połowie (xR, startPos, 1)
                        startPos = startPos + (1)
                    Pętla
                    
                    Jeżeli IsNumeric (memSubString) Wtedy
                        memoryTotal = memoryTotal + CInt (memSubString)
                    Kończyć Jeżeli
                    Komórka (zZ, 13) = Abs (memoryTotal)

                Kończyć Jeżeli


        Pętla

        Zamknięty #6 'Zakończenie the kartoteka
        memoryTotal = (0)
    
    Następnie 'Ruch następnie
    

    'Dodawać szpaltowy chodnikowiec
    
    Komórka ((1), 2) = "ReportDate"
    Komórka ((1), 3) = "ComputerName"
    Komórka ((1), 4) = "SerialNumber"
    Komórka ((1), 5) = "Model"
    Komórka ((1), 6) = "UserName"
    Komórka ((1), 7) = "PrimaryUser"
    Komórka ((1), 8) = "Lokacja"
    Komórka ((1), 9) = "Firma"
    Komórka ((1), 10) = "Dział"
    Komórka ((1), 11) = "CPUType"
    Komórka ((1), 12) = "ClockSpeed"
    Komórka ((1), 13) = "Pamięć"
    Komórka ((1), 14) = "Drive0"
    Komórka ((1), 15) = "Drive1"
    Komórka ((1), 16) = "CSize"
    Komórka ((1), 17) = "CFree"
    Komórka ((1), 18) = "OperSystem"
    Komórka ((1), 19) = "OfficeStandard"
    Komórka ((1), 20) = "OfficePro"
    Komórka ((1), 21) = "IPAddress"
    Komórka ((1), 22) = "AntiVirus"
    Komórka ((1), 23) = "MappedPrinter"
    
    MsgBox "Kończyć!"

Końcówka Okręt podwodny

Odpowiedź : VBS pismo w Makro- wieloskładnikowy linia dane potrzebować od kartoteka

Zamieniać twój Jeżeli oświadczenie z the twój odrzynek… twój używać semi-colon delimiter.

Ty móc móc z móc twój sekcja.
(1):
2:
3:
4:
5:
6:
7:
Jeżeli Opuszczać (xR, 13) = "MappedPrinter" Wtedy
                Jeżeli Komórka (zZ, 23) = "" Wtedy
                    Komórka (zZ, 23) = Prawy (xR, Len (xR) - 22)
                Inny
                    Komórka (zZ, 23) = Komórka (zZ, 23) & "; " & Prawy (xR, Len (xR) - 22)
                Kończyć Jeżeli
            Kończyć Jeżeli
Inne rozwiązania  
 
programming4us programming4us