- ベストアンサー
Excelの複数シートからcsvファイルを出力する方法
- Excelの複数シートからcsvファイルを出力する方法について調べています。
- スクリプトファイルを使用して、元のExcelファイルの各シートを個別のcsvファイルとして保存することができます。
- しかし、ファイル名を[シート名].csvに変更する方法がわかりません。どのようにすれば良いですか?
- みんなの回答 (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 こっちの方がわかりやすいかも。
その他の回答 (2)
- n-jun
- ベストアンサー率33% (959/2873)
#1です。 >ws.SaveAs path & "." & ws.Name & ".csv", 6 ws.SaveAs path & ws.Name & ".csv", 6 もしかしてこっちかな?
補足
残念ながらどちらも駄目でした...
- n-jun
- ベストアンサー率33% (959/2873)
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 パスがないからうまくいかないとか?
お礼
出来ました!!!!!!!!!!!!!!! ありがとうございます