Text Editor

2021/05/06 10:13 Macro::macro 作成OS別::Windows

テキストエディタ

マクロを作成する際に欠かせないテキストエディタを紹介します。

メモ帳 (notepad)

提供形態:Windows 標準アプリ
Windows 10 May Update 2019 から UTF-8 に対応した、Windows 標準のテキストエディタです。

非常にシンプルで、今はともかく昔は Ctrl + S でさえ使えなかった、Windows に標準インストールされていなかったら誰が使うのか分からないと思ったくらいのテキストエディタでした。

今でも、Undo/Redo ができない(Ctrl + Z で1回限り)、行番号やルーラー表示がない、禁則処理がないなど、テキストエディタとしては最低限にも程がある。

でも、偏執的な愛用者がいるのも事実。

EmEditor

提供形態:シェアウェア(フリーウェア版あり)
https://jp.emeditor.com/

クセの少ない、非常に使いやすいテキストエディタです。

私は永久ライセンスを購入しているので常に最新版の EmEditor を使っていますが、CSV 等も直感的に扱えるようになっており、手放せません。
ただ、メジャーリリースごとにライセンス料金が必要なので、オススメはしかねます。
使いやすい環境には課金も辞さないなら Free 版が復活したようなので、そちらで体験してもよいかと。

そうそう、矩形選択にも早い時期に対応していました。
この矩形選択とマクロを目当てにライセンス購入したものです。
UNIX や Linux といった CUI では、縦に並んだ文字列を切り出して使うことが非常に多いのですよね。

私がマクロを使うといった小技を覚えたのも、このアプリでした。
(この機能がなければ Tera Term でもマクロは覚えなかったでしょうね)

サクラエディタ

提供形態:フリーウェア
https://sakura-editor.github.io/

クセは強いけれど、高機能で無料なテキストエディタです。

シェアウェアを嫌う企業のパソコンには、大概インストールされているようです。
矩形選択も、当然のように行えます。

画面を分割して表示したいときに F12 を使うとか、置換したいときは Ctrl + R を使うとかいったクセの強さがなければと思うと、非常に残念です。

F12 は「名前を付けて保存」が多いかな。MS-Office はそうなっていますし。
置換したいなら Ctrl + H ですよね。

リストの重複行を削除する機能の実装は、EmEditor より速かった記憶があります。
Ctrl + A (全選択)→ Alt + A (ソート)→ Alt + M (マージ)のコンボは、今でも勝手に指が動きます。

秀丸エディタ

提供形態:シェアウェア(Microsoft Store版あり)
https://hide.maruo.co.jp/

優秀なテキストエディタです。

テキストエディタに課金しようと思った当時、矩形選択が使えていたら使っていたかもしれません。
課金したことないにもかかわらず、なぜか SE はライセンスキーを知っている人が多かった印象があります。

そういえば、いまの価格はいくらなんだろう?

TeraPad

提供形態:フリーウェア
https://tera-net.com/

Ctrl + S が使えてプログラミング言語にも対応している、シンプルなテキストエディタです。
サクラエディタが普及する前は、よく見かけるテキストエディタでした。

寺尾 進さんが作成されているので TeraPad とのこと*1


Ctrl + S が使えるのは、不安定な OS で長文を扱う必要のある SE にとって必須機能で、それさえも使えなかったメモ帳がいかに機能不足だったことか。

Visual Studio Code

提供形態:フリーウェア
https://azure.microsoft.com/ja-jp/products/visual-studio-code/

一般に VSCode と呼ばれる、高機能エディタです。
Linux や Mac でも利用できます。

*1 : Tera Term は寺西 高さん

マクロ生成

なにもマクロファイルを作れるのはテキストエディタだけではありません。

Microsoft Excel

提供形態:パッケージでの売り切り/サブスクリプション方式
主目的は表計算ソフトですが、方眼紙的な扱いから派生してマクロを組む際に重宝します。
あるコマンドで Excel でリストされているものを利用したいとかは、よくあるシーンです。

コマンドの加工がメインで、出来上がったものはテキストエディタにコピペします。
道具は使い勝手の良いものを、適切に選択しましょう。

Microsoft Excel for VBA

提供形態:Microsoft Excelに同梱
コマンドの加工に飽き足らず、マクロそのものを作りたいとなると VBA を利用する意義が生まれます。

Excel でも txt 形式で保存すればマクロファイルを作ることができますが、そこから拡張子を変更したりする必要があります。
ADO 等を利用すれば、マクロを作れます。

exec を利用すれば、Excel に記載した IP アドレスから直接 Tera Term を起動することさえ可能です。

Tera Term Pro

Tera Term 自身でも、マクロを駆使することでマクロを生成することができます。

MS-Office のない環境で大量にマクロを組まなければならないなら、有効かもしれません。
あとは、マクロ自体の勉強目的くらいしか用途が思い浮かびません。

マクロの作り方

2023/01/12 20:15 Macro::macro 作成
マクロを作ろうと思っても、どういう作り方をすればいいのか、環境の勉強から始めるのは大変な労力が必要です。
あとできちんと押さえておいた方がいいのは確かなのですが、学習とは真似から入るのが効率が良いと昔から決まっています。

既存流用

すでに提供されているマクロを流用する方法で新しいマクロを作るところから入りたいと思います。

次のリンクを参照してください。

Tera Term マクロとは

2024/03/26 18:31 Macro::macro 作成

Tera Term マクロとは

マクロ機能とは、別に用意されたテキストファイルに書かれたコマンド等を、上から順に 1 行ずつ解釈し、実行し、判断し、逐次進めていくタイプのインタプリタとも呼ばれるプログラム実行機能を指しますが、特に Tera Term に特化したものが Tera Term マクロです。

Tera Term 自体がネットワーク接続に用いるプログラムですが、その接続先等へ処理を追加したいときに便利なのがマクロ機能ですね。
Tera Term マクロファイルとは、Tera Term に行わせたいコマンドをそのままテキストファイルに記述したものです。
マクロファイルを指してマクロと呼ぶことも往々にしてあります。

ただ、文字列であるコマンドを逐一読み込んで処理を行うというのは、コンピュータにとって比較的コストの高い処理です。
コンピュータを使う人が、自分に使いやすいように少しの手間をかけて、多くの手間を省くような使い方をするのがマクロだと思います。

コマンドとは

Tera Term に限りませんが、実行させたい処理を小さく切り出したプログラムのことをコマンドと言っているような気がします。
直訳すると 命令 になりますが、コンピュータに行わせたい処理をひとまとめにしたプログラムと呼んだ方がしっくりきます。

たとえば、ネットワーク上のサーバに繋がるかどうかを確認するためのコマンドに ping がありますが、www.google.co.jp に ping を打つ命令……というよりは、ping での疎通確認処理と言った方がしっくりきます。

ping ならば、どのような応答が返ってくるか想像しやすいと思いますが、それを Tera Term マクロで実行させようとしたとき、ping コマンドは OS が管理しているので、OS への処理を行わせる exec というコマンドが必要になってきます。

ping コマンドは、相手から応答があったら戻り値が 0 で、無かったら 1 という挙動を示します。
この戻り値をみて、次にどう処理するのか……が、プログラムとしての腕の見せ所ですね。
たとえば、、、
・そのあとの処理を全部取りやめる?
・繋がるまで何回か繰り返す?
・それでも接続するか問い合わせる?
いずれも、ネットワーク環境によっては選ぶ可能性のある選択肢です。