2017-02-13 48 views
0

我試圖將xlsx文件轉換爲製表符分隔的文本文件,但文本文件中的輸出看起來是隨機文本。下面是我的源代碼。任何幫助讓它輸出爲製表符分隔txt文件將不勝感激。我使用了一個有兩列的常規工作簿,包含標題,但無法轉換爲製表符分隔的txt文件。將xlsx轉換爲txt製表符分隔 - 批處理

Option Explicit 

Dim oFSO, myFolder 
Dim xlText 

myFolder="C:\Projects\scripts\test" 


Set oFSO = CreateObject("Scripting.FileSystemObject") 
xlText = -4158 '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") 
     Next 
     Set oWSH = Nothing 
     Call oWB.Close 
     Set oWB = Nothing 
    End If 
Next 
Call oExcel.Quit 
Set oExcel = Nothing 

末次

回答

0

你缺少另存爲的的FileFormat參數,所以它實際上沒有轉換的Excel文件的文字,只需添加一個擴展。

嘗試改變

Call oWSH.SaveAs (oFile.Path & ".txt") 

Call oWSH.SaveAs (oFile.Path & ".txt", FileFormat:=xlTextWindows) 
+0

完美,這爲我做!非常感謝Dendarii – Govna

相關問題