Ⅰ 怎样用VBA把excel转成txt文件
在EXCEL的VBA中,可以用open方法,打开一个TXT文档,for output 具体请参阅VBA的帮助
Ⅱ excel指定区域vba自动生成txt (当前代码是默认命名为 新文件.txt)想改在生成txt前可以手动命名
你的代码中,生成文件的语句是下面这行:
.SaveAs ThisWorkbook.Path & "\新文件.txt", FileFormat:=xlText
如果需要生成自己的名字,可以把这行修改为:
.SaveAs ThisWorkbook.Path & "\" & InputBox("输入文件名","确定文件名","新文件") & ".txt", FileFormat:=xlText
Ⅲ vba 如何当前excel 打开txt文件后并将txt文件保存为EXCEL
如果txt文件中的数据是由逗号分隔,试试下面的代码:
Sub TXT导入到EXCEL() '把由逗号分隔的TXT数据导入EXCEL
Application.ScreenUpdating = False '关闭屏幕刷新
Const ForReading = 1 '打开一个只读文件
Set fso = CreateObject("Scripting.FileSystemObject") '创建文本对象
Set fd = Application.FileDialog(msoFileDialogOpen) '创建“打开”对话框对象
If fd.Show = -1 Then '如果选择了文件
FileName = fd.SelectedItems(1) '记录文件路径(指定文本文件名)
Else '如果没有选择文件
MsgBox "没有选择文件,请重新操作!", , "导入到EXCEL"
Exit Sub '退出程序
End If
Set sFile = fso.OpenTextFile(FileName, ForReading) '创建并打开名为sFile的TextStream对象
i = 1 '设置输入单元格的起始行号
Do While Not sFile.AtEndOfStream '如果不是文本文件的尾端,则读取数据
LineText = sFile.ReadLine '从文本文件中依次读取一行数据为字符串
d = InStr(LineText, ",") '计算这行数据从左向右第一个全角逗号的位置
If d > 0 Then '如果全角逗号存在
TH = Replace(LineText, ",", ",") '把字符串中的全角逗号替换成半角逗号
FJ = Split(TH, ",") '把由半角逗号分隔的字符串TH写入数组FJ
ElseIf d = 0 Then '如果全角逗号不存在
FJ = Split(LineText, ",")
End If
For iCol = LBound(FJ) To UBound(FJ) '从数组中读取数据并写入对应的单元格
ThisWorkbook.ActiveSheet.Cells(i, iCol + 1) = FJ(iCol)
Next iCol
i = i + 1 '滚动到下一个写入数据的单元格行
Loop
sFile.Close
Set fso = Nothing
Set fd = Nothing
Set sFile = Nothing
Application.ScreenUpdating = False '关闭屏幕刷新
End Sub
注意:
按Alt+F11打开宏编辑器,插入模块,粘贴上述代码后,在要导入TXT文件的当前工作表中制作一个命令按钮链接宏即可操作。
Ⅳ 用vba把EXCEL指定的部分输出为excel同名的TXT文件
Sub Macro1()
Dim c As Range, i&
Open ThisWorkbook.Path & "\" & Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 4) & ".txt" For Output As #1
For Each c In Sheet2.Range("E2:E" & Sheet2.Range("E2").End(xlDown).Row)
Print #1, c.Value
Next
For Each c In Sheet3.Range("F3:F" & Sheet3.Range("F3").End(xlDown).Row)
Print #1, c.Value
Next
Close #1
End Sub
这是将TXT文件保存在于xls文件同一个文件夹中,如果是别的地方,更改ThisWorkbook.Path为制定路径;另外,一定要将Excel保存为97-2003格式,扩展名为xls