Excel

エクセルデータを固定長(区切り位置を指定して)テキスト保存する

2021-08-14

エクセルのシートを桁数を指定してテキスト保存する方法です。

保存するエクセルデータ

sheet1

10文字の長さで保存後

テキスト保存後

テキスト保存の手順

下記のファイルフォーマットで名前を付けて保存します。

名前 説明 拡張子
xlTextPrinter 36 プリンター テキスト *.prn

標準モジュールに入力します。

Sub sample1()
    Dim fName As String: fName = "F:\sample\サンプル.prn"
    Dim ws As Worksheet: Set ws = Sheets("Sheet1")
    
    With ws
        .Columns("A:C").ColumnWidth = 10
        .Copy
    End With
    
    With ActiveWorkbook
        .SaveAs Filename:=fName, FileFormat:=xlTextPrinter
        .Close
    End With
End Sub

2行目の拡張子「.prn」を「txt」で保存しても問題ありません。

Dim fName As String: fName = "F:\sample\サンプル2.txt"

エクセル一般機能での操作

保存するファイルが1つや2つなら、一般機能で保存する方が早い場合もあります。

(1)列を選択して幅を指定します。この例では「10」にしています。

(2)「ファイル」>「コピーを保存」をクリックします。

コピーを保存

(3)ファイル名を入力、ファイルの種類「テキスト(スペース区切)(*.prn)」を選択し、「保存」をクリックします。

スペース区切で保存

-Excel
-

© 2021 オフィスのQ&A