• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excelの複数シートからcsvファイルを出力)

Excelの複数シートからcsvファイルを出力する方法

このQ&Aのポイント
  • Excelの複数シートからcsvファイルを出力する方法について調べています。
  • スクリプトファイルを使用して、元のExcelファイルの各シートを個別のcsvファイルとして保存することができます。
  • しかし、ファイル名を[シート名].csvに変更する方法がわかりません。どのようにすれば良いですか?

質問者が選んだベストアンサー

  • ベストアンサー
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.3

#1&2です。 Dim objXL Dim f Dim m Dim ws Set objXL=CreateObject("Excel.Application") 'objXL.Visible=True objXL.DisplayAlerts=False For Each f In WScript.Arguments objXL.WorkBooks.Open f For Each ws In objXL.ActiveWorkBook.Worksheets If ws.UsedRange.Rows.Count=1 and ws.UsedRange.Columns.Count=1 and ws.Cells(1,1)="" Then 'MsgBox ws.Name&"Empty" Else ws.SaveAs objXL.ActiveWorkBook.Path & "\" & ws.Name & ".csv", 6 End If Next objXL.ActiveWorkBook.Close Next objXL.Quit WScript.Quit こっちの方がわかりやすいかも。

yoko8001
質問者

お礼

出来ました!!!!!!!!!!!!!!! ありがとうございます

その他の回答 (2)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

#1です。 >ws.SaveAs path & "." & ws.Name & ".csv", 6 ws.SaveAs path & ws.Name & ".csv", 6 もしかしてこっちかな?

yoko8001
質問者

補足

残念ながらどちらも駄目でした...

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

Dim objXL Dim f Dim m Dim ws Dim path Set objXL=CreateObject("Excel.Application") 'objXL.Visible=True objXL.DisplayAlerts=False For Each f In WScript.Arguments objXL.WorkBooks.Open f path = Replace(f ,objXL.ActiveWorkBook.Name , "" ) For Each ws In objXL.ActiveWorkBook.Worksheets If ws.UsedRange.Rows.Count=1 and ws.UsedRange.Columns.Count=1 and ws.Cells(1,1)="" Then 'MsgBox ws.Name&"Empty" Else ws.SaveAs path & "." & ws.Name & ".csv", 6 End If Next objXL.ActiveWorkBook.Close Next objXL.Quit WScript.Quit パスがないからうまくいかないとか?

関連するQ&A