Uvezite podatke iz tekstualne datoteke (ADO) pomoću VBA u programu Microsoft Excel

Sadržaj

Dolje opisani postupak može se koristiti za dobivanje ADO skupa zapisa iz tekstualne datoteke i popunjavanje rezultata na radnom listu.

Pod GetTextFileData (strSQL kao niz, strFolder kao niz, rngTargetCell kao raspon) 'Primjer: GetTextFileData "SELECT * FROM filename.txt", _ "C: \ Ime mape", Raspon ("A3")' primjer: GetTextFileData "SELECT filename.txt WHERE polje ime = 'kriteriji' ", _" C: \ Ime mape ", Raspon (" A3 ") Dim cn Kao ADODB.Veza, rs Kao ADODB.Recordset, f Kao cijeli broj Ako rngTargetCell nije ništa Zatim izađite iz podskupa cn = Novi ADODB.Connection On Error Resume Next cn.Open "Driver = {Microsoft Text Driver ( *.txt; *.csv)};" & _ "Dbq =" & strFolder & ";" & _ "Proširenja = asc, csv, tab, txt;" On Error GoTo 0 If cn.State adStateOpen then Exit Sub Set rs = New ADODB.Recordset On Error Resume Next rs.Open strSQL, cn, adOpenForwardOnly, adLockReadOnly, adCmdText On Error Idi na 0 Ako je rs.State cSto.ConOpen = Ništa Izlaz Podzavršetak If 'naslovi polja Za f = 0 Za rs.Fields.Count - 1 rngTargetCell.Offset (0, f) .Formula = rs.Fields (f) .Naziv Sljedeći f rngTargetCell.Offset (1, 0 ) .CopyFromRecordset rs 'radi u Excelu 2000 ili novijem' RS2WS rs, rngTargetCell 'radi u Excelu 97 ili starijem rs. Zatvori skup rs = Ništa cn.Zatvori skup cn = Ništa Kraj Sub

Postupak se može koristiti ovako:

Pod TestGetTextFileData () Application.ScreenUpdating = Lažne radne knjige.Dodajte GetTextFileData "SELECT * FROM filename.txt", "C: \ FolderName", Range ("A3") 'GetTextFileData "SELECT * FROM filename.txt' ", _" C: \ FolderName ", Raspon (" A3 ") Stupci (" A: IV "). Automatsko prilagođavanje ActiveWorkbook.Saved = True End Sub

Zamijenite filename.txt nazivom tekstualne datoteke iz koje želite dobiti podatke.
Zamijenite C: \ Ime mape imenom mape u koju je spremljena tekstualna datoteka.

Prvi redak u tekstualnoj datoteci koristit će se kao naslovi stupaca/imena polja.
Svaki stupac s datwom mora biti odijeljen znakom za odvajanje popisa koji se koristi u regionalnom
postavke na upravljačkoj ploči. U Norveškoj je to obično točka -zarez (;), u drugim zemljama to može biti zarez (,).
Postupak RS2WS pronaći ćete klikom na ovu vezu.

Primjer makroa pretpostavlja da je vaš VBA projekt dodao referencu u biblioteku objekata ADO.
To možete učiniti iz VBE -a odabirom izbornika Alati, Reference i odabirom Microsofta
ActiveX Data Objects x.x Knjižnica objekata.

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave