Importujte údaje z textového súboru (ADO) pomocou jazyka VBA v programe Microsoft Excel

Obsah

Nasledujúci postup je možné použiť na získanie sady záznamov ADO z textového súboru a vyplnenie výsledku do pracovného hárka.

Sub GetTextFileData (strSQL As String, strFolder As String, rngTargetCell As Range) 'example: GetTextFileData "SELECT * FROM filename.txt", _ "C: \ FolderName", Range ("A3")' example: GetTextFileData "SELECT * FROM filename.txt WHERE fieldname = 'kritéria' ", _" C: \ FolderName ", rozsah (" A3 ") Dim cn As ADODB.Connection, rs As ADODB.Recordset, f As Integer If rngTargetCell Is nothing Then Exit Sub Set cn = Nové ADODB.Connection Pri chybe Pokračovať Ďalej cn.Open "Driver = {Microsoft Text Driver ( *.txt; *.csv)};" & _ "Dbq =" & strFolder & ";" & _ "Rozšírenia = 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 GoTo 0 If rs.State adStateOpen Then cn. = Nič Ukončiť Sub End If 'nadpisy polí pre f = 0 až rs.Fields.Count - 1 rngTargetCell.Offset (0, f) .Formula = rs.Fields (f) .Name Next f rngTargetCell.Offset (1, 0 ) .CopyFromRecordset rs 'funguje v Exceli 2000 alebo novšom' RS2WS rs, rngTargetCell 'funguje v Exceli 97 alebo staršom rs.Close Set rs = Nothing cn.Close Set cn = Nothing End Sub

Postup je možné použiť takto:

Sub TestGetTextFileData () Application.ScreenUpdating = False Workbooks.Add GetTextFileData "SELECT * FROM filename.txt", "C: \ FolderName", Range ("A3") 'GetTextFileData "SELECT * FROM filename.txt WHERE fieldname =' kritéria ' ", _" C: \ FolderName ", rozsah (" A3 ") stĺpce (" A: IV "). AutoFit ActiveWorkbook.Saved = True End Sub

Nahraďte názov súboru .txt názvom textového súboru, z ktorého chcete získať údaje.
Nahraďte C: \ FolderName názvom priečinka, kde je uložený textový súbor.

Prvý riadok v textovom súbore bude použitý ako hlavičky stĺpcov/názvy polí.
Každý stĺpec s údajmi musí byť oddelený znakom oddeľovača zoznamu, ktorý sa používa v regionálnom formáte
nastavenia na ovládacom paneli. V Nórsku je to zvyčajne bodkočiarka (;), v iných krajinách to môže byť čiarka (,).
Postup RS2WS nájdete po kliknutí na tento odkaz.

Príklad makra predpokladá, že váš projekt VBA pridal odkaz na knižnicu objektov ADO.
Môžete to urobiť z VBE tak, že vyberiete ponuku Nástroje, Referencie a vyberiete položku Microsoft
Knižnica objektov ActiveX Data Objects x.x.

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave