私は 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」を追加したり、プロンプトを表示したりできます。スプレッドシートに列が 1 つしかない場合は、このコードを大幅に簡素化できます。
上記のコマンドの説明については、記事を参照してください。 Excel VBA でテキストファイルに書き込む/