だれかのなにかに役立てるウェブ制作者YoTaの趣味ブログ

Excel VBAでテキストデータにプリント出力する時に複数の改行をする方法

Excel VBAでテキストデータにプリント出力する時、改行をする方法はいくつかありますが、さっさと答えを見たい人向けに、下記に具体例を一つ紹介します。

サンプルコード

Public Sub test()

  '変数の宣言
  Dim txt1 As Integer
  Dim Path As String

  'ファイル番号の取得とディレクトリ指定
  txt1 = FreeFile
  Path = "C:\test.txt"

  'ファイルを開く
  Open Path For Output As #txt1

  'データ出力
  Print #txt1, "一行目のテキストです。" & vbCrLf;
  Print #txt1, "二行目のテキストです。" & vbCrLf;
  Print #txt1, "三行目のテキストです。" & vbCrLf '「;」をつけないので、自動の改行コード+vbCrLfとなる。
  Print #txt1, "四行目のテキストです。" & vbCrLf;

  'ファイルを閉じる
  Close #txt1

End Sub

出力結果はこちら。

txt2

改行のルール

プリント出力の改行について覚えておきたいことは下記の通りです。

・printステートメントはデフォルトで改行コードが挿入される
・printステートメントの文末に「;(セミコロン)」をつけると、デフォルトの改行コードを含めないように指定できる
・改行コード(vbCrLfなど)を使うと、意図的に改行を指示できる
・複数の改行をする時は改行コードを指定すればOK

改行コードの種類

改行コードには、bLf,vbCr,vbCrLf,vbNewLineなどの種類がありますが、これらの違いは下記の通りです。

vbLf:ライン フィード(Line Feed),Linux 等で一般的な改行コード。
vbCr:キャリッジ リターン(Carrige Return),Mac OS X 以前の Mac OS 等で一般的な改行コード。
vbCrLf:キャリッジ リターンとライン フィードの連続,Windows 等で一般的な改行コード。
vbNewLine:各プラットフォームで最適な改行コード。

※引用
vbLf,vbCr,vbCrLf,vbNewLine の違い

ページ上部に戻る