SATOXのシテオク日記

~ふもっふ、ふもふも~

JavaScriptで楽をしよう♪

最近、仕事の効率を上げるためにJavaScriptを使っておりまして非常に活躍しておりますのよ、奥さん
JavaScriptにこだわるわけではなく、目的を達成するためにたまたまJavaScriptを使っているといった方が正しいかもしれません。
プログラミングやメールのやりとりが主ですが、このブログを書くときにも大活躍しています。かなり手を抜けるようになるので、使い始めるともう元には戻れません。
仕事柄毎日同じテキストを書いたり同じ加工をするのは労力の無駄だし、少しでも楽をしようという悪あがきですな、こりゃあ(笑)。
んで、以下のツールが大変お役に立ちます。好きなキーを割り当てて、いつでもスクリプトを呼び出せます。JavaScriptVBScriptが使用でき、選択範囲置き換えによる簡易整形も可能です。

ホットキーで呼び出せるメニューを使って、定型文やクリップボード履歴の挿入、マクロによるテキスト整形が可能な文字列入力支援ソフト「EcoPasteII」v2.2.4が、6月30日に公開された。

まぁぐだぐだ説明してもわからんちんなので、まぁ例えば、こんな事ができます。

  • 今日の日付を入れる。
  • メールの文章を引用して定型文を前後に入れる。
  • 選択範囲内の「\」を「\\」や「/」にする。その逆も。
  • <center></center>でくくる。
  • 文字を好きなように加工する。

などなど。ツールとは独立した機能なので、好きなエディタやVisualStudio、メーラーなど、エディタ上であればたいてい大丈夫なんです。

■<center>でくくるよ
例えば、<center>でくくるのは、定型文を使うと次のような感じ。(注:一部の文字は全角になっています)

<center>\s</center>
「\s」と書いてあるのが選択文字列が展開されます(これはEcoPasteII独自の仕様)。エディタ上でセンタリングしたい箇所を選択し、ツールを実行すればタグが挿入されるってなあんばい。簡単です。
■日付を挿入するよ
次に、日付を入れるJavaScriptのプログラムは以下の通り。

var stdin = WScript.StdIn;
var stdout = WScript.StdOut;
var dtToday = new Date;
var strYear;
var strMonth;
var strDate;

// 年月日を取得
strYear = dtToday.getYear();
strMonth = dtToday.getMonth() + 1;
strDate = dtToday.getDate();

// xxxx-xx-xxと日付を表示する
if (strMonth < 10) {
strMonth = "0" + strMonth;
}
if (strDate < 10) {
strDate = "0" + strDate;
}

stdout.write(strYear + "-" + strMonth + "-" + strDate + "\n");

メールの定型文も入れておけばわざわざ毎回日付を入れる必要がなくなるわけです。楽ちん楽ちん。
このプログラムを〜.jsとして保存し、EcoPasteIIのscriptフォルダにコピーすれば使えるようになります。SATOXはこの日付入力スクリプトに自分の名前やメールの定型文を入れて使っています。これが便利。今日は何日〜なんて考える時間が節約できるし、間違いもありません。
メーラーテキストエディタが日付を入れる機能を持っていることがあるけど、たいてい日付のフォーマットが固定されていて使えないんですよね……。
■リンクタグを整形するよ
次のプログラムはHTMLのリンクタグのタイトルをリンク名に変えて<h4>タグでくくるスクリプトです。

var stdin = WScript.StdIn;
var stdout = WScript.StdOut;
var outstr, title;
var ttlplace_s, titleplace_e;

outstr = stdin.ReadAll();
titleplace_s = outstr.indexOf('title=', 0) + 7;
titleplace_e = outstr.indexOf('>', titleplace_s) - 1;
title = "■" + outstr.substring(titleplace_s, titleplace_e);
stdout.Write("<H4>");
stdout.Write(outstr.substring(0, titleplace_e + 2) + title + "</a>");
stdout.Write("</H4>");

SATOXがこのブログでリンク貼るときに、「はてなのリンク挿入文字列」から変換するときに使います。はてなリンクは「URLがリンクの文字列」になってしまうので、「title」からリンクの文字列をもらってくる感じですね。
↓これが
http://d.hatena.ne.jp/satox/
↓こうなる

■SATOXのシテオク日記



まぁ威張って書くほどたいしたことはしてませんけども、多用しているので労力の削減になっていることは間違いないです。
CScriptなんていうコマンドもあるので、コンパイルもいらず気軽に書けるスクリプトをいろいろ使ってみると良いかもしれません。