(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:
|
Opcja Wyraźny
Jawny sFolder Sznurek
Jawny sFilename () Sznurek
Jawny NFiles Jako Integer
Okręt podwodny GetFileList ()
Ciemnawy varFileList Jako Wariant
Ćmić i Jako Integer
"Dostawać the książka telefoniczna od the użytkownik"
Z Application.FileDialog (msoFileDialogFolderPicker)
. Przedstawienie
Jeżeli .SelectedItems.Count = (0) Wtedy Wychodzić Okręt podwodny "użytkownik odwoływać"
sFolder = .SelectedItems (1)
Końcówka Z
"Dostawać lista wszystkie the kartoteka w ten książka telefoniczna."
"Zauważać że to być to… chociaż ono móc…"
varFileList = GetFileNames (sFolder, "*.txt")
Jeśli nie IsArray (varFileList) Wtedy
MsgBox "Żadny kartoteka znajdować. ", vbInformation
Wyjście Okręt podwodny
Kończyć Jeżeli
"Tworzyć the filename szyk opierać się na the wybrany książka telefoniczna"
NFiles = UBound (varFileList) + (1)
ReDim sFilename ((1) NFiles)
"Kopiować the filenames w smyczkowy szyk dla use gdzie indziej"
Dla i = (0) UBound (varFileList)
sFilename (i + 1) = CStr (varFileList (i))
Następnie i
OutputFilenames2XL
ImportFileContent
Końcówka Okręt podwodny
Intymny Funkcja GetFileNames (ByVal sPath Jako Sznurek, Fakultatywny sFilter Jako Sznurek) Jako Wariant
" Wracać jednowymiarowy szyk z filenames"
" Inaczej wracać Fałszywy"
Ciemnawy f Sznurek
Ćmić i Jako Integer
Ćmić FileList () Sznurek
Jeżeli sFilter = "" Wtedy sFilter = "*.*"
Wybierać Skrzynka Right$ (sPath, 1)
Pakować "\", "/"
sPath = Left$ (sPath, Len (sPath) - 1)
Końcówka Wybiórka
ReDim Prezerwa FileList ((0))
f = Dir$ (sPath & "\" & sFilter)
Robić Podczas Gdy Len (f) > (0)
ReDim Prezerwa FileList (i) Sznurek
FileList (i) = f
i = i + (1)
f = Dir$ ()
Pętla
Jeżeli FileList ((0)) <> Opróżniać Wtedy
GetFileNames = FileList
Inny
GetFileNames = Fałszywy
Kończyć Jeżeli
Kończyć Funkcja
Intymny Okręt podwodny OutputFilenames2XL ()
Ciemnawy iBaseRow Jako Integer, iBaseCol Jako Integer
Ciemnawy shTarget Jako Worksheet
Ćmić i Jako Integer
Ustawiać shTarget = Application.ActiveSheet
iBaseRow = Pasmo ("BaseCell"). Rząd
iBaseCol = Pasmo ("BaseCell"). Kolumna
"Zaludniać the chodnikowiec pole
shTarget.Range ("ImportDate"). Wartość = Teraz
shTarget.Range ("FolderPath"). Wartość = sFolder
shTarget.Range ("NFiles") = NFiles
"Zaludniać filename kolumna the stołowy"
Dla i = (1) NFiles
shTarget.Cells (iBaseRow + i - (1), iBaseCol). Wartość = sFilename (i)
Następnie i
"Stawiać formuła parse transakcja id w pierwszy kolumna"
shTarget.Range (Komórka (iBaseRow, iBaseCol - 1), Komórka (iBaseRow + NFiles - (1), iBaseCol - 1)) .FormulaR1C1 = "=MID (R [(0)] C [(1)], LEN (R [(0)] C [(1)]) - 14,8)"
Końcówka Okręt podwodny
Intymny Okręt podwodny ImportFileContent ()
Ćmić i Jako Integer, j Jako Integer
Ćmić shTarget Jako Worksheet
Ćmić iBaseRow Jako Integer, iBaseCol Jako Integer
Ćmić shSource Jako Worksheet
Ćmić sActiveFilename Sznurek
Ćmić sFullPath Sznurek
Ćmić iRowCount Jako Integer
Ćmić iTargetColumn Jako Integer
Ćmić rSourceRange Pasmo
"Sklep podstawowy dane dla the cel worksheet my budować"
Ustalony shTarget = Application.ActiveSheet
iBaseRow = Pasmo ("BaseCell"). Rząd
iBaseCol = Pasmo ("BaseCell"). Kolumna
"Teraz proces teraz filename właśnie importować the worksheet"
Application.ScreenUpdating = Fałszywy
Application.WindowState = xlMinimized
Application.Calculation = xlCalculationManual
Application.Visible = Fałszywy
"Ustawianie postęp bar"
Obciążeniowy frmProgress
frmProgress.ProgressBar.Max = NFiles
frmProgress.ProgressBar.Value = (0)
frmProgress.Show
Dla i = (1) NFiles
sActiveFilename = sFilename (i)
sFullPath = sFolder & "\" & sActiveFilename
"Import rozgraniczać tekst kartoteka"
Workbooks.OpenText Filename: =sFullPath, _
Początek: =437, StartRow: =1, DataType: =xlDelimited, TextQualifier: = _
xlDoubleQuote, ConsecutiveDelimiter: =False, Zakładka: =True, Średnik: =False, _
Przecinek: =False, Przestrzeń: =False, Inny: =False, FieldInfo: =Array ((1), 1), _
TrailingMinusNumbers: =True
"Przechować the szkotowy imię i format/dodawać formuła wymagać"
Ustalony shSource = Application.ActiveSheet
iRowCount = Application.WorksheetFunction.CountA (Kolumna ("A: "))
shSource.Range (Komórka ((1), 2), Komórka (iRowCount, 2)) .FormulaR1C1 = "=FIND ("": "", R [(0)] C [- (1)])"
shSource.Range (Komórka ((1), 3), Komórka (iRowCount, 3)) .FormulaR1C1 = "=IF (OPUSZCZAĆ (R [(0)] C [- 2], 7)= "" Komentarz "", 61, WARTOŚĆ (W POŁOWIE (R [(0)] C [- 2], 2, R [(0)] C [- (1)] - 2)))"
shSource.Range (Komórka ((1), 4), Komórka (iRowCount, 4)) .FormulaR1C1 = "=RIGHT (R [(0)] C [- 3], LEN (R [(0)] C [- 3]) - R [(0)] C [- 2] - (1))"
"Upewniać się the komórka aktualizować z the aktualny dane (tylko potrzebować jeżeli obliczenie ustawiać manuał)"
shSource.Calculate
"Teraz kopia the parsed dane w the poprawny komórka na the cel worksheet"
Dla j = (1) IRowCount
iTargetColumn = CInt (shSource.Cells (j, 3).Value)
Ustalony rSourceRange = shSource.Cells (j, 4)
shTarget.Cells (iBaseRow + i - (1), iBaseCol + iTargetColumn). Wartość = rSourceRange.Value
Następny j
"W końcu zakończenie the źródło workbook kartoteka ponieważ my kończyć z ono"
Workbooks (sActiveFilename). Zamknięty SaveChanges: =False
frmProgress.ProgressBar.Value = i
frmProgress.Repaint
Następnie i
shTarget.Columns ("C: BK") .EntireColumn.AutoFit
frmProgress.Hide
Application.Calculation = xlCalculationAutomatic
Application.Calculate
Application.ScreenUpdating = Prawdziwy
Application.WindowState = xlMaximized
Application.Visible = Prawdziwy
Końcówka Okręt podwodny
|