Adatok írása szövegfájlba Excel VBA használatával
Az alábbiakban egy programot nézünk be Excel VBA hogy egy Excel tartományt ír ki egy CSV (vesszővel elválasztott értékű) szöveges fájlhoz.
Helyzet:
Helyezzen egy parancsgombot a munkalapra, és adja hozzá a következő kódsorokat:
1. Először egy String típusú MyFile nevű változót deklarálunk, egy típus nevű rng nevű változót, Variant típusú cellValue nevű változót, egy Integer típusú i nevű változót, és egy integer típusú j változót. Itt használunk Variant változót, mert egy Variant változó bármilyen típusú értéket tartalmazhat.
2. Be kell állítanunk a fájl teljes elérési útját és fájlnevét.
Megjegyzés: az DefaultFilePath tulajdonság visszaadja az alapértelmezett fájlútvonalat. A mappa megnyitása vagy mentése közben megjelenő mappa elérési útja.
3. Inicializáljuk a rng tartományt a kiválasztott tartományban.
4. Adja hozzá a következő kódsor:
Jegyzet: ez a nyilatkozat lehetővé teszi a fájl írását. A kódot a kód többi részében # 1-nek nevezzük. Ha a fájl már létezik, akkor törölni fog, és létrehoz egy új azonos nevű nevű fájlt.
5. Indítsa el a kettős hurkot.
For j = 1 To rng.Columns.Count
Megjegyzés: Az rng.Rows.Count visszaadja a sorok számát (17 ebben a példában) és az rng.Columns.Count visszaadja az oszlopok számát (ebben a példában 4).
6. Az Excel VBA a cell értékét a változó cellValue értékre írja.
7. Adja hozzá a következő kódsorokat a cellValue értékének a szövegfájlba történő írásához.
Write #1, cellValue
Else
Write #1, cellValue,
End If
Magyarázat: Az If Then Else utasítás alapján az Excel VBA csak egy új sort kezd (Write # 1, cellValue), amikor j értéke az oszlopok száma (az utolsó érték egy sorban). Az értékek vesszővel történő elválasztásához írja be a Write # 1, cellValue (vesszővel) értéket.
8. Ne felejtsd el lezárni mindkét hurkot.
Next i
9. Csukja be a fájlt.
10. Válassza ki az adatokat, és kattintson a parancs gombra a lapon.
Eredmény: