|
|
楼主 |
发表于 2023-9-14 16:23:10
|
显示全部楼层
附上,它最终帮我生成的,成功代码,并且还帮我写了注释:- Option Explicit
- Dim objExcel, objWorkbook, objWorksheet
- Dim strFilePath, strSheetName, strOutputFile
- Dim intRow, intLastRow, intColumn
- Dim objFSO, objStream
- ' 设置 Excel 文件路径、表名和输出文件路径
- strFilePath = "D:\Birds\DaoChu\鸟种数据导出.xlsx"
- strSheetName = "鸟种数据导出"
- strOutputFile = "BirdName01.txt"
- ' 创建 Excel 对象
- Set objExcel = CreateObject("Excel.Application")
- objExcel.Visible = False
- objExcel.DisplayAlerts = False
- ' 打开工作簿和工作表
- Set objWorkbook = objExcel.Workbooks.Open(strFilePath)
- Set objWorksheet = objWorkbook.Sheets(strSheetName)
- ' 获取最后一行的索引
- intLastRow = objWorksheet.Cells(objWorksheet.Rows.Count, 2).End(-4162).Row
- ' 创建文件系统对象
- Set objFSO = CreateObject("Scripting.FileSystemObject")
- ' 创建输出文件流
- Set objStream = CreateObject("ADODB.Stream")
- objStream.Charset = "UTF-8"
- objStream.Open
- objStream.Type = 2 ' Text
- ' 从第2行开始逐行读取数据并写入文件
- For intRow = 2 To intLastRow
- ' 获取第2列(B列)的数据
- Dim birdName
- birdName = objWorksheet.Cells(intRow, 2).Value
-
- ' 将数据写入文件流
- objStream.WriteText birdName & vbCrLf
- Next
- ' 保存文件流到文本文件
- objStream.SaveToFile strOutputFile, 2 ' Overwrite
- ' 关闭文件和清理对象
- objStream.Close
- Set objStream = Nothing
- Set objFSO = Nothing
- ' 关闭工作簿和 Excel
- objWorkbook.Close
- objExcel.Quit
- ' 清理对象
- Set objWorksheet = Nothing
- Set objWorkbook = Nothing
- Set objExcel = Nothing
复制代码 |
|