0
私はボタンを作成しようとしています。 xlsm
myFolder
ディレクトリ内の〜100 .xlsx
ファイルをそれぞれ.txt
に変換します。次のVBA
コードはExpected End Sub
エラーを返します。ディレクトリ内のすべてのxlsxファイルをテキストに変換する
Dos
コマンドは、ファイルを実行して変換しますが、読み込みできません(何がフォーマットに優れていますか?)やる?ありがとう:)
ドス
cd C:\Users\Desktop\folder
Copy *.xlsx *.txt
VBA
Option Explicit
Private Sub CommandButton1_Click()
Dim oFSO, myFolder
Dim xlText
myFolder = "C:\Users\Desktop\folder"
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", FileFormat:=xlTextWindows)
Next
Set oWSH = Nothing
Call oWB.Close
Set oWB = Nothing
End If
Next
Call oExcel.Quit
Set oExcel = Nothing
End Sub
ありがとうございました。 – Chris
私はそれが助けてうれしいです。私は小さな変更を加え、テキストファイル名を改善しました。最初のバージョンはファイルを 'Book1.xlsx.txt'として保存しました(今は' Book1.txt'として保存しています) –