Excel 탭을 CSV로 일괄 내보낼 수 있는 도구가 있습니까?

Excel 탭을 CSV로 일괄 내보낼 수 있는 도구가 있습니까?

저는 엑셀 2010을 사용하고 있습니다.

이것을 찾았습니다:일괄 XLS를 CSV로 변환기

하지만 실제로 모든 Excel 워크시트를 개별 CSV 파일로 내보내야 합니다. 그런 식으로 작동하는지 확실하지 않습니다. 또한 위의 방법을 사용한다면 실제로 VB 스크립트를 어떻게 사용합니까? (프로그래밍에 익숙하지 않음)

답변1

다음은 링크한 게시물의 스크립트를 정리한 버전입니다.

Option Explicit

Const xlXMLSpreadsheet = 46
Const xlCSV = 6

Dim xl, wb, ws

Dim args : Set args = WScript.Arguments

If args.Count <> 1 Then
  WScript.Echo "Syntax: cscript " & WScript.ScriptName & " filename"
  WScript.Quit(1)
End If

Set xl = CreateObject("Excel.Application")
Set wb = xl.Workbooks.Open(args(0))

xl.DisplayAlerts = False
For Each ws In wb.Worksheets
 ws.activate
 wb.SaveAs CreateObject("Scripting.FileSystemObject").GetBaseName(args(0)) _
   & "_" & Replace(ws.Name, " ", "_") & ".csv", xlCSV
Next
xl.DisplayAlerts = True

wb.Close False
xl.Quit
WScript.Quit

원하는 대로 작동해야 합니다. 명령 프롬프트에서 다음과 같이 호출합니다.

cscript SCRIPT.vbs INPUT.xls

출력 파일을 생성합니다 INPUT_SHEETNAME.csv.

관련 정보