여러 엑셀 워크 시트를 .csv로 변환하십시오


-1

통합 문서의 여러 Excel 워크 시트를 개별 .csv 파일로 변환하기 위해이 매크로를 찾았지만 변환 된 파일 이름에서 통합 문서 이름을 제거하는 방법을 알지 못합니다. 나는 그 단순함을 확신하지만 VBA에 대해서는 아무것도 모른다.

Sub exportcsv()
Dim ws As Worksheet
Dim path As String

path = ActiveWorkbook.path & "\" & Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, ".") - 1)
For Each ws In Worksheets
ws.Copy
ActiveWorkbook.SaveAs Filename:=path & "_" & ws.Name & ".csv", leFormat:=xlCSV, CreateBackup:=False
ActiveWorkbook.Close False
Next
End Sub

1
워크 시트 이름을 의미 합니까? 그것이 바로 그 & "_" & ws.Name &부분입니다. 이제 그 파일을 지우면 3 개의 파일에 3 개의 파일이 생기며 모두 동일한 폴더에 이름이 지정됩니다. 아주 좋은 생각처럼 들리지는 않습니다.
Mathieu Guindon

매크로를 실행하면 변환 된 파일 "원본 파일 이름"_ "시트 이름"이 지정됩니다. 그냥 그 (것)들에게 이름을 지어 줄 필요가 있어요 .csv
phantasm79

답변:


1

변화

ActiveWorkbook.SaveAs Filename:=path & "_" & ws.Name & ".csv"

ActiveWorkbook.SaveAs Filename:=ActiveWorkbook.path & "\" & ws.Name & ".csv"

그것은 나를 가까이에 가져 오지만, 나는 변환하는 것과 같은 폴더에 있지 않습니다. 아마 그 원인은 내가 서버에서 일하는거야? 변환 된 파일을 내 서버 사용자 디렉토리에 저장합니다.
phantasm79
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.