コマンドとExcelで遊んでみる

Windowsでは、ものすごく原始的なパソコンの使い方として、すべての操作をキーボードで操作する「コマンドプロンプト」があります。
コルタナに「コマンド」と入力すると、出てきます。

コマンドで遊ぶ

コマンドを表示したら、「echo 120」と入力し、Enterしましょう。
120が表示されます。

今、画面上に120を表示したのですが、120と出すのを、ファイルに書き出したいと思います。
その場合は、「echo 123 >ファイルの場所とファイル名」と指定します。
今回はDドライブにtest1.txtというファイル名のファイルに123を書いてみます。
「echo 123 > D:\test1.txt」と入力し、Enterします。
すると画面上には何も表示されず、次のアクション待ちになります。

画面上には保存していませんが、ファイルに保存しているのです。
本当にファイルに保存されたか確認するには「type ファイルの場所とファイル名」です。

「type D:\test1.txt」と入力し、Enterします。
123が表示されました。

ここで、何回か上カーソルキーを押してみてください。
今までの入力した履歴が出てきます。
ではここで、「echo 520 >> D:\test1.txt」と入力し、Enterしてみましょう。>>を2つ入れるのがポイントです。
でまた、typeでファイルの中身を見てみます。
下の行に追記になりましたね。

「echo 値 > ファイルの場所とファイル名」はそのファイルに値を書き込みします。もし、ファイルが存在していたら、そのファイルの中身を入れ替えてしまいます。

「echo 値 >> ファイルの場所とファイル名」はそのファイルに値を追記します。

Excelでコマンドで作成したファイルを読み込んでみる

Excelを開いて、データタブのデータの取得、ファイルから、テキストまたはCSVデータを開き、該当データを選択しインポートます。

もし、文字化けしてたら、元のファイルのところをいろいろ変えてみて下さい。
それで、右下の読み込みの下向き三角をクリックし、その中から読み込み先を選択します。

テーブルにして、既存のワークシートにして、これ大事なんですけど、このデータをデータモデルに追加するのチェックを入れます。

Excel画面にテーブルとして、データが取り込まれました。

このような画面が右に表示されます。

この薄緑になっているファイル名のところを右クリックし、プロパティをクリックします。

元ファイルの内容が変わったら自動で、更新した内容に読み替えてほしいので、定期的に更新するにします。
そして、更新時間は60分も待てないので1分にします。

1分にすると何回も読み行くので動作は遅くなりますが、今回はまあいいでしょう。
で、OKします。

取り込んだデータで遊ぶ

では、せっかくテーブルで取り込んだので、テーブルツールの集計行のチェックを入れてみましょう。

A列の集計行の下向き三角をクリックして合計にします。

合計が求まります。

さて、ここで、コマンドで行を追加してみましょう。

「echo 1230 >> D:\test1.txt」と入力し、Enterします。

これでファイルに1230が追記されたはずです。

1分待つと。。。

Excelにも1230が追記され、合計も出てきました。

まとめ

さて、この記事を読んで、実際に操作された方はどうでしょうか、ワクワクしませんか?
自動でテキストファイルを作ったら1分後にそのままExcelに反映するわけですよ。
そしたら自動で何かのテキストファイルを作るなり、業務データのテキストファイルを決まったフォルダに投げ入れるだけで、Excelの計算書が出来上がる、なんて仕組みも簡単にできそうです。
今回は、難しいことは抜きにして、こうやったらこんなことができるということを紹介してみました。
コマンドプロンプトはechoとかファイル書き出しとかtypeの他にもいろいろなできることもあるし、Excelでテキストファイルを取り込んで取り込み時間を設定するのは、PowerQueryという機能に非常に近い部分で動作しています。
そのあたりの仕組みも解説していきたいと思います。

サトウヨシヒロ

Excelを中心としたMicrosoft Officeの魔法使い。
仙台市在住のフリーランスのパソコンインストラクターです。
1969年1月生まれ。
Excelを黎明期から30年近く使っています。Wordも使えます。
出版社様と一緒にExcelの情報発信もしています。
最近は羊に夢中です。
2020年は令和時代のExcelの使い方と教え方を勉強しています。

Twitterでも業務で使える便利なOffice技をめっちゃつぶやくツイッタラーです。@yosatonet

コメントを残す

メールアドレスが公開されることはありません。