매크로에 CSV 파일을 저장할 때 구분 기호 지정 (Microsoft Excel)
메뉴를 사용하여 워크 시트를 내보내는 CSV 파일을 만들 때 Arkadiusz는 세미콜론 (;)
을 사용하도록 지정할 수 있다고 언급했습니다. 필드 구분 기호로. 그러나 매크로 (FileFormat : = xlCSV 또는 xlCSVWindows)를 사용하여 CSV 파일을 저장하면 세미콜론을 구분 기호로 지정할 수 없습니다.
이것은 VBA에서 설계된 방식으로 작동합니다. VBA에 대한 내보내기 루틴의 Excel 구현은 항상 Windows 국가 별 설정을 사용하여 CSV의 항목을 분리하는 방법을 결정합니다.
특히 루틴은 구분 기호에 대한 목록 구분 기호 필드를 확인합니다. 즉, 원하는 경우 지역 설정 구성에서 목록 구분 기호 설정을 변경하여 구분 기호를 세미콜론으로 변경할 수 있습니다.
지역 설정을 변경하지 않으려면 원하는 방식으로 파일을 출력하는 고유 한 매크로를 대신 작성할 수 있습니다.
잠시 동안 파일을 출력 할 다음 매크로를 고려하십시오.
Sub CreateFile() FName = ActiveWorkbook.Name If Right(FName, 4) = ".xls" Then FName = Mid(FName, 1, Len(FName) - 4) End If Columns(1).Insert Shift:=xlToRight For i = 1 To Range("B65000").End(xlUp).Row TempString = "" For j = 2 To Range("HA1").End(xlToLeft).Column If j <> Range("HA1").End(xlToLeft).Column Then TempString = TempString & _ Cells(i, j).Value & ";" Else TempString = TempString & _ Cells(i, j).Value End If Next Cells(i, 1).Value = TempString Next Columns(1).Select Selection.Copy Workbooks.Add Range("A1").Select ActiveSheet.Paste Application.CutCopyMode = False ActiveWorkbook.SaveAs Filename:=FName & ".txt", _ FileFormat:=xlPrinter End Sub
이 매크로는 출력 파일을 만드는 고유 한 접근 방식을 사용합니다. 워크 시트의 왼쪽에 열을 삽입 한 다음 해당 열의 오른쪽에있는 모든 데이터를 새로 삽입 된 열 A에 연결합니다. 각 필드 사이에 세미콜론을 추가합니다. 이 작업이 완료되면 A 열에 입력 한 정보를 가져 와서 새 통합 문서에 씁니다. 이 통합 문서는 xlPrinter 파일 형식을 사용하여 디스크에 저장됩니다. 즉, 수정없이 “있는 그대로”출력됩니다.
워크 시트를 변경하지 않고 파일에 직접 정보를 쓰는보다 직접적인 접근 방식을 선호하는 경우 다음 블로그 게시물에서 매크로를 살펴보십시오.
https://web.archive.org/web/20060302021412/http:/www.dicks-blog.com:80/archives/2004/11/09/roll-your-own-csv/
매크로는 각 필드 사이에 쉼표를 사용하지만 세미콜론을 대신 사용하도록 쉽게 수정할 수 있습니다.
_ 참고 : _
이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.
link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요]
.
_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.
이 팁 (3232)은 Microsoft Excel 97, 2000, 2002 및 2003에 적용됩니다. 여기에서 Excel (Excel 2007 이상)의 리본 인터페이스에 대한이 팁의 버전을 찾을 수 있습니다.
link : / excelribbon-Specifying_a_Delimiter_when_Saving_a_CSV_File_in_a_Macro [CSV 파일을 매크로로 저장할 때 구분 기호 지정]
.