VBA文本文件
VBA文本文件
我們可以讀取Excel文件,並寫入單元格中的內容到一個文本文件。這樣一來,VBA允許用戶使用文本文件的工作。我們可以測試文件使用工作的兩種方法
文件系統對象
使用Write命令
使用文件系統對象(FSO)
正如其名稱所說的,FSO對象幫助開發者使用驅動器,文件夾和文件的工作。在本節中,我們將討論如何使用FSO。
對象類型
描述
Drive
驅動器是一個對象。包含的方法和屬性,收集關於連接到系統的驅動器的信息
Drives
硬盤是一個集合。它提供了連接到系統,無論是物理或邏輯的驅動器的列表。
File
文件是一個對象。它包含的方法和屬性,使開發人員能夠創建,刪除或移動文件。
Files
文件是一個集合。它提供了包含在文件夾內的所有文件的列表。
Folder
文件夾是一個對象。它提供的方法和屬性,使開發人員能夠創建,刪除或移動文件夾。
Folders
文件夾是一個集合。它提供了一個文件夾內的所有文件夾列表。
TextStream
文本流是一個對象。它使開發人員能夠讀取和寫入文本文件。
驅動器
Drive是一個對象,它提供了訪問特定的磁盤驅動器或網絡共享的屬性。以下屬性是由驅動器對象支持:
AvailableSpace
DriveLetter
DriveType
FileSystem
FreeSpace
IsReady
Path
RootFolder
SerialNumber
ShareName
TotalSize
VolumeName
例子
第1步:在繼續使用FSO腳本,我們應該使Microsoft腳本運行。做同樣,導航到"Tools" >> "References" ,如下圖所示:
第2步:添加「Microsoft Scripting RunTime」,然後單擊確定。
第3步:添加數據,將它寫入一個文本文件,並添加一個命令按鈕。
第4步:現在是寫腳本的時候。
Private Sub fn_write_to_text_Click() Dim FilePath As String Dim CellData As String Dim LastCol As Long Dim LastRow As Long Dim fso As FileSystemObject Set fso = New FileSystemObject Dim stream As TextStream LastCol = ActiveSheet.UsedRange.Columns.Count LastRow = ActiveSheet.UsedRange.Rows.Count ' Create a TextStream.
Set stream = fso.OpenTextFile("D:\Try\Support.log", ForWriting, True)
CellData = ""
For i = 1 To LastRow
For j = 1 To LastCol
CellData = Trim(ActiveCell(i, j).Value)
stream.WriteLine "The Value at location (" & i & "," & j & ")" & CellData
Next j
Next i
stream.Close
MsgBox ("Job Done")
End Sub
輸入
當執行腳本,請確保將光標放在工作表的第一個單元格。如在下面創建Support.log文件 "D:\Try":
該文件的內容也被顯示如下:
使用寫命令
不像FSO,我們不需要添加任何引用,但是不能夠正常工作的驅動器,文件和文件夾。能夠只流添加到文本文件中。
例子
Private Sub fn_write_to_text_Click() Dim FilePath As String Dim CellData As String Dim LastCol As Long Dim LastRow As Long LastCol = ActiveSheet.UsedRange.Columns.Count LastRow = ActiveSheet.UsedRange.Rows.Count FilePath = "D:\Try\write.txt" Open FilePath For Output As #2 CellData = "" For i = 1 To LastRow For j = 1 To LastCol CellData = "The Value at location (" & i & "," & j & ")" & Trim(ActiveCell(i, j).Value) Write #2, CellData Next j Next i Close #2 MsgBox ("Job Done") End Sub
輸出
如下圖所示當執行腳本時,在「D:\Try」創建「write.txt」文件。
該文件的內容也被顯示如下: