Ⅰ 怎樣用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