VBA - írás szövegfájlba

Tartalomjegyzék

Ez az oktatóanyag bemutatja, hogyan kell szöveges fájlokba írni a VBA segítségével.

Írjon szövegfájlba

Az alábbi kódok a FileSystemObject. A használatához be kell állítania egy hivatkozást a VB script futásidejű könyvtárára.

Írjon új szövegfájlba

A … val CreateTextFile a metódusa FileSystemObject létrehozhat, majd hozzáadhat tartalmat egy szöveges fájlhoz:

123456789 Sub FSOCreateAndWriteToTextFile ()Halvány FSO új fájlrendszer -objektumkéntSet FSO = CreateObject ("Scripting.FileSystemObject")Állítsa be a FileToCreate = FSO.CreateTextFile fájlt ("C: \ Test \ TestFile.txt")FileToCreate.Write "teszt sor"FileToCreate.CoseEnd Sub

Kérjük, vegye figyelembe, hogy a tartalom nem kerül idézőjelek közé.

Írjon a meglévő szövegfájlba

Ha meglévő szöveges fájlba szeretne írni, használja a OpenTextFile a metódusa FileSystemObject val vel ForWriting számára mód.

123456789 FSOWriteToTextFile () alHalvány FSO új fájlrendszer -objektumkéntSet FSO = CreateObject ("Scripting.FileSystemObject")Állítsa be a FileToWrite = FSO.OpenTextFile fájlt ("C: \ Test \ TestFile.txt", ForWriting)FileToWrite.Write "teszt sor"FileToWrite.CloseEnd Sub

Kérjük, vegye figyelembe, hogy nem feltétlenül szükséges a FileSystemObject, hogy meglévő szöveges fájlba írjon. A fenti példa más módon jelenik meg az alábbi kódban (lásd az Adattartománytól a szövegfájlig című szakasz másik példáját):

123456789 Sub WriteToTextFile ()Fájlnév halványítása karakterlánckéntFileName = "C: \ Test \ TestFile.txt"Nyissa meg a fájlnevet a kimenethez #11. nyomtatás, "tesztvonal"Bezárás #1End Sub

Kérjük, vegye figyelembe, hogy az Írás parancs használata a Nyomtatás helyett azt eredményezi, hogy a hozzáadott tartalmat idézőjelek közé kell zárni. Mindkét parancs a makróban

12 Írja az 1. számot, "teszt sor #1"1. nyomtatás, "2. tesztvonal"

ilyen szövegfájlt eredményez:

VBA programozás | A kódgenerátor működik az Ön számára!

Hozzáfűzés a szövegfájlhoz

Ha a fenti kód módját ForAppending -re változtatja, egy sor hozzáadható a szövegfájl végéhez:

1 Állítsa be a FileToWrite = FSO.OpenTextFile fájlt ("C: \ Test \ TestFile.txt", ForAppending)

WriteLine módszer

Ez a módszer a beviteli karakterláncot külön sorként fűzi a meglévő tartalomhoz.

Írási módszer

A beviteli karakterlánc ugyanahhoz a sorhoz fűződik, mint a meglévő tartalom.

Unod már a VBA kódpéldák keresését? Próbálja ki az AutoMacro -t!

WriteBlankLines

Ez a módszer paraméterként figyelembe veszi a szövegfájlba írandó üres sorok számát.

Ez az alábbi kód szemlélteti a különbséget a különböző írási módszerek között:

12345678910111213 Sub WriteMethods ()Halvány FSO új fájlrendszer -objektumkéntSet FSO = CreateObject ("Scripting.FileSystemObject")Állítsa be a FileToWrite = FSO.OpenTextFile fájlt ("C: \ Test \ TestFile.txt", ForAppending)FileToWrite.Write "teszt sor #1"FileToWrite.Write "2. teszt sor"FileToWrite.WriteBlankLines (3)FileToWrite.WriteLine "3. tesztsor"FileToWrite.WriteLine "tesztsor #4"FileToWrite.CloseEnd Sub

És az eredmény:

VBA programozás | A kódgenerátor működik az Ön számára!

Adattartomány szöveges fájlba

Ha adattartományt szeretne kiadni a munkalapról egy szöveges fájlba, akkor ezt a kódot használhatja:

12345678910111213141516171819 Sub OutputToTextFile ()Fájlnév halványítása karakterláncként, soros szöveg szövegkéntDim MyRange As Range, i, jFileName = "C: \ Test \ TestFile.txt" 'itt adhatja meg a létrehozni kívánt szövegfájl nevétNyissa meg a fájlnevet a kimenethez #1A MyRange = Range ("data") beállítása 'feltételezi, hogy a munkalapon van egy "data" nevű adattartományI = 1 esetén MyRange.Rows.CountHa j = 1 A MyRange.Columns.CountLineText = IIf (j = 1, "", LineText & ",") & MyRange.Cells (i, j) 'a létrehozott szövegfájl vesszővel elválasztottKövetkező jNyomtatás #1, LineText 'az Írás paranccsal a Nyomtatás helyett azt eredményezi, hogy az adatok idézőjelben vannak a kimeneti szövegfájlbanKövetkező iBezárás #1End Sub

Tömb szövegfájlba

Az adatok tömbjét az alábbi szövegfájlba is mentheti:

12345678910111213141516 Sub SaveArrayToTextFile ()Dim MyArray mint változatHalvány FSO új fájlrendszer -objektumkéntSet FSO = CreateObject ("Scripting.FileSystemObject")Saját tömb = tömb (tömb ("00", "01"), tömb ("10", "11"), tömb ("20", "21"))Állítsa be a FileToCreate = FSO.CreateTextFile fájlt ("C: \ Test \ TestFile.txt")N = 0 esetén UBound (MyArray)FileToCreate.WriteLine MyArray (n) (0) & "," & MyArray (n) (1)KövetkezőFileToCreate.CloseEnd Sub

Segít a fejlesztés a helyszínen, megosztva az oldalt a barátaiddal

wave wave wave wave wave