- ベストアンサー
特定のワークシートcsvファイル書き出しほか
- AAAフォルダ内にあるエクセルファイルの各ブックに含まれるワークシートをフォルダごとに分けてCSVファイルに書き出すプログラムを作成しました。
- しかし、特定のワークシートのみをCSVファイルに書き出す方法がわかりません。
- プログラムをスッキリとしたものにするためのアドバイスをいただけないでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>シートを2番目から順にアクティブにして書き出すように変更しても >1番目のグラフシートからcsvになってしまいました。 For Each ws In Worksheets でループしているのでWorksheetsからは グラフシートは取得できないのだけどWorksheetに埋め込みグラフかな? For Each ws In Worksheets If ws.Index >= 2 And ws.Index <= 7 Then ws.Activate ActiveWorkbook.SaveAs _ Filename:=FolderPath & "\" & objFSO.GetBaseName(objFile) & "\" & ws.Name & ".csv", FileFormat:=xlCSV End If Next ws
その他の回答 (1)
- HohoPapa
- ベストアンサー率65% (455/693)
ws.Activate 'ベースファイルと同じ階層に出力 ActiveWorkbook.SaveAs _ Filename:=FolderPath & "\" & objFSO.GetBaseName(objFile) & "\" & ws.Name & ".csv", _ FileFormat:=xlCSV ↑これらのコードを if ((ws.Type <> xlChart) And (ws.Index < 8)) Then 'xxxxxxxxx End If で挟む対応はいかがでしょうか。
お礼
回答ありがとうございます 動作しましたが、私の質問内容に間違いがあり、2人目のwatabe007さまのご指摘の通り、埋め込みグラフでした。申し訳ありません。 xlchartで分けること初めて知りました。 非常に勉強になりました。 ありがとうございました
お礼
回答ありがとうございました ご指摘の通り埋め込みグラフでした。 回答頂いた内容でやりたい動作できました。 ありがとうございました