我有一個將excel文件轉換爲文本文件的Visual Basic腳本。比方說,我有一個名爲example.xlsx的excel文件;目前,該腳本將其保存爲example.xlsx.txt,這不是我想要的。我需要它保存爲:example.txt保存與Excel文件具有相同名稱的文本文件
任何想法?
Option Explicit
Dim oFSO, myFolder
Dim xlTXT
myFolder="C:\..."
Set oFSO = CreateObject("Scripting.FileSystemObject")
xlTXT = 21 'Excel TXT format enum
Call ConvertAllExcelFiles(myFolder)
Set oFSO = Nothing
Call MsgBox ("Done!")
Sub ConvertAllExcelFiles(ByVal oFolder)
Dim targetF, oFileList, oFile
Dim oExcel, oWB, oWSH
Set oExcel = CreateObject("Excel.Application")
oExcel.DisplayAlerts = False
Set targetF = oFSO.GetFolder(oFolder)
Set oFileList = targetF.Files
For Each oFile in oFileList
If (Right(oFile.Name, 4) = "xlsx") Then
Set oWB = oExcel.Workbooks.Open(oFile.Path)
For Each oWSH in oWB.Sheets
Call oWSH.SaveAs (oFile.Path & ".txt", xlTXT)
Exit For
Next
Set oWSH = Nothing
Call oWB.Close
Set oWB = Nothing
End If
Next
Call oExcel.Quit
Set oExcel = Nothing
End Sub
現在要附加的.txt文件路徑的末尾,你需要真正的改變似乎最簡單的方法是'呼叫oWSH.SaveAs(更換(oFile.Path,「XLSX」」。 txt「),xlTXT)' – engineersmnky
謝謝!如何將所有文本文件保存到不同的文件夾中? – Brandon
看起來您正在爲每個工作表覆蓋文件,因爲您將每個工作表保存爲相同的名稱。所以如果一個工作簿有多個工作表,你將失去除最後一個工作表外的所有工作表。 – Harrison