2017-09-26 10 views
2

xltext 파일로 Excel 워크 시트를 출력하려면 아래 saveas() 함수를 사용하려고합니다. 파일은 잘 생성되지만 #, ###. 00의 특수 형식으로 번호가 매겨집니다. 단지 1,000.00이 아니라 "1,000.00"으로 출력됩니다. 이 큰 따옴표는 어떻게 제거 할 수 있습니까?Excel VBA. 세이브() 함수를 서식 지정하는 데 사용합니다.

Dim tab_output_line, tab_output_head, tab_source As String 
Dim File_Location As String 

tab_output_line = "Upload_PO_LineItem" 
tab_source = "PBOOK" 

File_Location = Sheets(tab_source).Range("S5").Value 

Sheets(tab_output_line).Select 
ChDir File_Location 
ActiveWorkbook.SaveAs Filename:= _ 
    File_Location + tab_output_line + ".txt", FileFormat:=xlText, _ 
    CreateBackup:=False 
+0

탭과 같은 다른 구분 기호. 데이터에 쉼표가있는 경우 쉼표를 구분 기호로 사용하면 문제가 발생할 수 있습니다. – braX

답변

1

현재 코드는 탭으로 구분 된 파일을하고있다. 쉼표가 (심지어 형식이 지정되어 있음)이 포함 된 셀은 큰 따옴표로 묶여 "보호"됩니다.

다음과 같은 코드를 시도,이 "보호"를 방지하려면 :

Sub tony2() 
    Dim N As Long, i As Long, j As Long, Record As String 
    Dim M As Long 

    N = Cells(Rows.Count, 1).End(xlUp).Row 
    Close #2 
    Open "C:\Users\Garys\desktop\tony.txt" For Output As #2 

    For i = 1 To N 
     Record = "" 
     M = Cells(i, Columns.Count).End(xlToLeft).Column 
     For j = 1 To M 
      Record = Record & vbTab & Cells(i, j).Text 
     Next j 
     Record = Mid(Record, 2) 
     Print #2, Record 
    Next i 
    Close #2 
End Sub 

입력 :

enter image description here

및 출력 :

enter image description here

당신은 사용해야합니다
+0

고맙습니다. 해결했습니다. –