/ / Napište data do textového souboru pomocí programu Excel VBA

Napište data do textového souboru pomocí programu Excel VBA

Níže se podíváme na program v Excel VBA že zapíše rozsah aplikace Excel do souboru CSV (čárkami oddělené hodnoty).

Situace:

Napište data do textového souboru v aplikaci Excel VBA

Umístěte na pracovní list příkazové tlačítko a přidejte následující řádky kódu:

1. Nejprve deklarujeme proměnnou nazvanou myFile typu String, objekt nazvaný rng typu Range, proměnnou nazvanou cellValue typu Variant, proměnnou s názvem i typu Integer a proměnnou s názvem j typu Integer. Zde používáme proměnnou Variant, protože proměnná Variant může mít libovolný typ hodnoty.

Dim myFile As String, rng As Range, cellValue As Variant, i As Integer, j As Integer

2. Musíme zadat celou cestu a název souboru.

myFile = Application.DefaultFilePath & "sales.csv"

Poznámka: Vlastnost DefaultFilePath vrátí výchozí cestu k souboru. Cesta ke složce, kterou vidíte při otevření nebo uložení souboru.

3. Inicializujeme objekt řady rng ve zvoleném rozsahu.

Set rng = Selection

4. Přidejte následující kódový řádek:

Open myFile For Output As #1

Poznámka: toto prohlášení umožňuje zapisovat do souboru. Můžeme odkazovat na soubor jako # 1 během zbytku našeho kódu. Pokud soubor již existuje, bude smazán a bude vytvořen nový soubor se stejným jménem.

5. Spusťte dvojitou smyčku.

For i = 1 To rng.Rows.Count
    For j = 1 To rng.Columns.Count

Poznámka: rng.Rows.Count vrací počet řádků (17 v tomto příkladu) a rng.Columns.Count vrátí počet sloupců (4 v tomto příkladu).

6. Excel VBA zapíše hodnotu buňky do proměnné cellValue.

cellValue = rng.Cells(i, j).Value

7. Přidejte následující řádky kódu pro zápis hodnoty cellValue do textového souboru.

If j = rng.Columns.Count Then
    Write #1, cellValue
Else
    Write #1, cellValue,
End If

Vysvětlení: v důsledku příkazu If Then Else spustí Excel VBA pouze nový řádek (Write # 1, cellValue), když j se rovná počtu sloupců (poslední hodnota v řádku). Chcete-li oddělit hodnoty čárkou, použijte Psát # 1, cellValue (s čárkou).

8. Nezapomeňte uzavřít obě smyčky.

    Next j
Next i

9. Zavřete soubor.

Close #1

10. Vyberte data a klepněte na příkazové tlačítko na listu.

Výsledek:

Psaní dat do výsledku textového souboru

Také si přečtěte: