VBA

【ExcelVBA】シングルクォート区切りのdatファイルを作成する

ねぇもりさん、VBAでdatファイル作れるかな?
もり
もり
datファイル?!

 

datファイル(ダットファイル)とは、拡張子が .dat の「データファイル」です。システムに取り込むデータなどに使われます。

 

シングルクォート区切りdatファイル、作ってよ
もり
もり
お、おぅ・・・まかせろ!

エクセルシートのデータから、シングルクォート区切りdatファイルを作成します。

Excelシートからdatファイルを作成する

 

 

SaveAsメソッドでdatファイルは作れない?

ファイル保存といえばSaveAsメソッドですが・・・

SaveAsメソッドのフォーマットに「dat」形式は指定できないようです。

もり
もり
仕方ないね…地道な方法で作るわよ

【方針】

  • エクセルシートの「各セルの値」にシングルクォートを挟んで連結する
  • 最終列の場合、改行する
    ※ただし、最終行・最終列の場合は改行しない

こんな感じですね↓

(改行)
(改行)

Excelシートからdatファイルを作成する

アクティブシートのデータからdatファイルを作成するコードです。2行目以降をファイルに出力します。

※1行目から出力したい場合は、19行目 For r = 2 To lastRow の 2 を 1 に変更してください。

このコードを実行すると、マクロブックと同じ階層にsample.datが出力されます。メモ帳などのテキストエディタにドラッグ・アンド・ドロップすると、中身を確認できます。

datファイルの開き方

Printメソッドで改行しない方法

各セルの値にシングルクォートを挟んで連結しています。

【ポイント】

  • 最終列 → 改行する
  • それ以外 → 改行しない

Printステートメントの行末にセミコロン(;)を付けると改行しません。このセミコロンを利用して、各セルの値を改行なしで連結していき、最終列のみ改行するようにします。

datファイルの作成(改行するしない)

 

.txt(テキストファイル) や .csv(CSVファイル)が一般的で、datファイルはシステムにアップロードする際に使われる珍しい形式のファイルです。

もし作成することがあれば、ぜひこの方法を活用してみてください。

非エンジニアもプログラミングを学習する時代!

「プログラミング」ってエンジニアとかプログラマーの人がするものでしょ?文系の私には関係ないや~って思っていませんか?

いまは、非エンジニアもプログラミングを学習する時代です!

「プログラミングの必修化」をご存知ですか?

  • 2020年~ 小学校で開始
  • 2021年~ 中学校で開始
  • 2022年~ 高等学校で開始
  • 2024年~ 高校受験科目に新設

学校での必修化に向けて、すでに子ども向けプログラミングスクールが多数開校されています。

あと数年もすれば、あたりまえにプログラミングができる新入社員がやってくる時代になります。

プログラミングってなに?どんなもの?まずは無料体験から試してみませんか?

 

1週間の無料体験あり!
オンラインスクール実績No.1!