나는 Excel을 사용하여 데이터베이스에 대한 입력으로 구문 분석되는 텍스트 파일을 생성합니다. 이제 Excel에서 텍스트 파일을 편집하고 있기 때문에 xlsx 파일을 텍스트 파일로 저장하고 Excel을 닫아야 할 때 끊임없이 짜증이납니다. 텍스트 파일을 생성하지 않고 xlsx 파일을 Excel에서 열어 두는 방법이 있습니까?
답변1
이를 위해서는 다음과 같은 VBA 매크로가 필요합니다.
Sub WriteTextFile()
Dim FilePath As String
Dim CellData As String
Dim LastCol As Long
Dim LastRow As Long
LastCol = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column
LastRow = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
CellData = ""
FilePath = Application.DefaultFilePath & "\euth.csv"
Open FilePath For Output As #2
For i = 1 To LastRow
For j = 1 To LastCol
If j = LastCol Then
CellData = CellData + TrimtActiveCell(i, j).Value)
Else
CellData = CellData + TrimtActiveCell(i, j).Value) + ","
End If
Next j
Write #2, CellData
CellData = ""
Next i
Close #2
MsgBox ("Done")
End Sub
원하는 대로 서브루틴을 수정할 수 있습니다. 매개변수로 "euth.csv"를 추가하거나 프롬프트를 표시할 수도 있습니다. 스프레드시트에 열이 하나만 있는 경우 이 코드는 상당히 단순화될 수 있습니다.
위에서 사용된 명령에 대한 설명은 기사를 참조하세요. Excel VBA에서 텍스트 파일에 쓰기/