如何将Exlcel文件转换成要求的文本文件件?备查mail.,为下一步开发作准备。
Sub s()
Open ThisWorkbook.Path & “\” & Split(ThisWorkbook.Name, “.”)(0) & “.txt” For Output As #1 ‘取当前工作簿的路径,然后取一个名字相同的文本文件作为输出文件。
For i = 1 To 2 ‘附件中只有两行,所以循环上限取2
For j = 1 To Cells(i, 255).End(xlToLeft).Column ‘根据各行最右非空列号作为内循环上限,有多少列循环多少次
If j < Cells(i, 255).End(xlToLeft).Column Then ‘如果不是最右列
Select Case Cells(i, j) ‘对单元格的内容进行判断
Case IsNumeric(Cells(i, j)) ’如果是数字
Write #1, Cells(i, j), ’直接写入数字,并在右边加一逗号“,”
Case IsDate(Cells(i, j)) ‘如果是日期格式
Write #1, Format(Cells(i, j), “yyyy-mm-dd”), ‘强行以YYYY-MM-DD格式输出
Case IsNull(Cells(i, j)) ‘如果是空白
Write #1, “”, ‘则输出一个空白
Case Else ‘其它格式
Write #1, Cells(i, j).Text, ‘均以文本格式输出
End Select
Else ‘如果是最右列,输出最后一列时省略“,”
Select Case Cells(i, j)
Case IsNumeric(Cells(i, j))
Write #1, Cells(i, j)
Case IsDate(Cells(i, j))
Write #1, Format(Cells(i, j), “yyyy-mm-dd”)
‘ Case IsNull(Cells(i, j)) ‘呵呵,偶够粗心的,最右边的单元格不可能是空白,所以这两
‘ Write #1, “” ’行代码是冗余的!永远也可能起作用,所以应该删除!
Case Else
Write #1, Cells(i, j).Text
End Select
End If
Next j ’逐行处理
Next i ‘逐列处理
Close #1 ‘关闭文本文件
End Sub