/ / Įrašyti duomenis į tekstinį failą naudojant "Excel VBA"

Įrašykite duomenis į teksto failą naudodami "Excel VBA"

Žemiau apžvelgsime programą Excel VBA tai rašo "Excel" diapazoną į CSV (kableliais atskirtų verčių) tekstinį failą.

Padėtis:

Įrašykite duomenis į tekstinį failą Excel VBA

Įdėkite komandų mygtuką į savo darbalapį ir pridėkite šias kodo eilutes:

1. Pirma, mes deklaruojame kintamąjį, pavadintą "MyFile" tipo String, objektą vadinamą Rng tipo tipo, kintamąjį, pavadintą tipo Variant "cellValue", kintamuoju, pavadintu "I" tipo "Integer", ir kintamąjį, pavadintą "J" tipo "Integer". Čia naudojamas varianto variantas, nes varianto kintamasis gali turėti bet kokios rūšies vertę.

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

2. Turime nurodyti visą kelią ir failo pavadinimą.

myFile = Application.DefaultFilePath & "sales.csv"

Pastaba: savybė DefaultFilePath grąžina numatytąjį failo kelią. Kelias į aplanką, kurį matote atidarius arba išsaugoję failą.

3. Inicializuojame intervalo objektą rng su pasirinktu diapazonu.

Set rng = Selection

4. Įtraukite šią kodo eilutę:

Open myFile For Output As #1

Pastaba: šis teiginys leidžia įrašyti failą į. Galime nurodyti failą kaip # 1 per likusį mūsų kodą. Jei failas jau egzistuoja, jis bus ištrintas ir bus sukurtas naujas failas su tuo pačiu pavadinimu.

5. Pradėkite dvigubą kilpą.

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

Pastaba: rng.Rows.Count grąžina eilučių skaičių (šiuo pavyzdžiu - 17) ir rng.Columns.Count grąžina stulpelių skaičių (4 šiame pavyzdyje).

6. "Excel VBA" įrašo ląstelės reikšmę į kintamąjį "cellValue".

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

7. Įtraukite šias kodo eilutes, kad įrašytumėte "cellValue" vertę į teksto failą.

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

Paaiškinimas: dėl "If Then Else" pareiškimo Excel VBA tik pradeda naują eilutę (Write # 1, cellValue), kai j lygus stulpelių skaičiui (paskutinė vertė iš eilės). Norėdami atskirti vertes kableliais, naudokite Write # 1, cellValue (kableliais).

8. Nepamirškite uždaryti abiejų kilpų.

    Next j
Next i

9. Uždarykite failą.

Close #1

10. Pasirinkite duomenis ir spustelėkite mygtuką komandą.

Rezultatas:

Parašykite duomenis į teksto failo rezultatą

Taip pat perskaitykite: