Sub OutPutXlsToTxt() Dim fs, myFile As Object Dim i_row, i_col, i_MaxCol As Integer 'xls工作表的行列坐标变量和最大列数变量 Dim myfileline As String 'txtfile的行数据 Set fs = CreateObject("Scripting.FileSystemObject") '建立txt文件 Set myFile = fs.createtextfile("d:\123456.txt") '建立文件名称及路径 Sheet2.Select ‘从SHEET2取内容 i_row = 1 i_MaxCol = 0 Do i_MaxCol = i_MaxCol + 1 Loop Until Workbooks(1).ActiveSheet.Cells(1, i_MaxCol) = "" i_MaxCol = i_MaxCol - 1 '获得整个sheet的最大列数 If i_MaxCol = 0 Then '对没有数据的表不做处理并退出程序 MsgBox "该表无数据,不能导出!", vbCritical Exit Sub End If Do myfileline = "" For i_col = 1 To i_MaxCol myfileline = myfileline + _ Trim(CStr(Workbooks(1).ActiveSheet.Cells(i_row, i_col))) + "," '生成每行数据 Next myFile.writeline (Mid(myfileline, 1, Len(myfileline) - 1)) '将每行数据写入txtfile i_row = i_row + 1 Loop Until Workbooks(1).ActiveSheet.Cells(i_row, 1) = "" Set myFile = Nothing Set fs = Nothing '关闭文件和filesystemobject对象 End Sub |
|