定型文入力ツール サンプル
例えば、入力したい文字列が複数あり、一日にその文字列を何度も何度も入力しなければならない場合、どのように入れたら良いでしょうか。
ひとつひとつの入力に要する時間は少ないので、その都度手打ちしても良いのですが、何度も何度も同じ文字が出てくる場合にはやはり非効率です。
PhraseExpressのようなスニペットツールや辞書の単語登録してしまうのも効率的な方法ではありますが、これらの方法は日常的に利用する定型文を登録しておくことで効果を発揮するものなので、その日だけ入力したい場合とか、人のパソコンを使っているときとか、短いスパンで利用する文字列がどんどん変化していくような場合などには不向きです。
どんな環境でもサクッと気軽に使えたらいいのに
そんなときにはエクセルを利用して、簡易的な定型文入力ツールを自作してしまうのはどうでしょうか。
この方法は、エクセル(Microsoft Excel)が入っているパソコンなら誰でも環境を構築できるお手軽な方法であり、複数の文字列を何回も何回も繰り返し入力するような場面では、絶大な威力を発揮します。
このブログでオススメしているデュアルマウスやマルチモニターとも相性が良い方法です。
縦のマルチモニター最強説
まだマウス1台で消耗してるの?マウス2台で入力するデュアルマウスのメリット・デメリット
目次
定型文入力ツールの作り方
ここからは定型文入力ツールの作り方です。
これが完成形ではありません。マクロがわかる方は、ご自分の環境や用途に合わせてどんどん自己流に改良していっても面白いと思います。
エクセルを起動します
まずはお手元のエクセルを起動します。普通に立ち上げて空白のブックを選択するだけで良いです。
VBEを立ち上げ
【ALT】+【F11】キーでVBEを立ち上げます。
リボンから起動したい場合には、【オプション】→【リボンのユーザー設定】より「開発」タブのチェックをオンにする必要があります。
リボンのユーザー設定
VBEを立ち上げたところ
VBEとは
Visual Basic Editorの略で、VBA(Visual Basic for Applications)という「エクセルに標準で付属しているプログラム言語」を編集するためのエディターです。
Sheet1内のコード編集
VBEウィンドウ左側の上の方に【VBAProject(Book1)】というものがあると思います。これが現在立ち上げているエクセルファイルを指します。
この中にある【Sheet1】となっている部分をダブルクリックすると、右側の空白部分にカーソルが移動します。この部分に打ち込んだプログラムはSheet1にのみ適用されます。
コードの挿入
以下のコードをまるっとコピーして先程のSheet1内の空白部分に貼り付けしてください。コードの意味はわからなくても良いです。
[vb]
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim copyword As New MSForms.DataObject
With copyword
.SetText Target.Value
.PutInClipboard
End With
End Sub
[/vb]
完成形
UserFormの挿入
先程のVBEウィンドウ左側の上の方にある【VBAProject(Book1)】を右クリックして、挿入→ユーザーフォームを選択します。
UserForm1 が挿入されます
なんだかよくわからないと思いますが、これはコードを利用するためのおまじないのようなものだと思ってください。これをやらないと以下のようなコンパイルエラーが出てマクロが停止します。
コンパイルエラー
これで準備が整いました。VBEのウィンドウは右上の☓ボタンで閉じても良いです。
ツールの使い方
定型文入力ツール サンプル
定型文入力ツールの使い方は簡単です。まずは、よく使用する単語や文字列の登録からどうぞ。
定型文の登録
自分がよく使用する定型文を好きなセルに入力します。
どのセルでも利用できるので、サンプル画像のように、列ごとに定型文をカテゴライズして管理するのも良いですね。プログラム内ではセルのテキスト情報しか参照しないので、セルに罫線を入れても色をつけても大丈夫です。
マウスでセルを選択
VBEで入力したコードは、選択されたセル内容をクリップボードにコピーする、という単純な処理です。
定型文の入力されているセルをマウスでクリック選択してください。選択した瞬間、目では確認できませんが、内部ではセルのテキスト情報がクリップボードにコピーされています。
貼り付け(ペースト)
あとは貼り付けしたい場所でペースト(CTRL+V)するだけです。テキストの貼り付けができるアプリならどこにでも貼り付けできます。
マウスの機能ボタンがある方は、「貼り付け(ペースト)」ボタンを1つ作っておくと確実に幸せになれます。
注意点
それほど注意することはありませんが、以下のことをご留意ください。
マクロ有効ブックで保存
マクロ(プログラム)が記載されたエクセルファイルのため、初めて保存するときはマクロ有効ブック(xlsm)形式で保存してください。次回からは意識しないで利用できます。
セルの複数選択はできない
1つのセルに対してクリップボードに保存する処理を行うため、セルの複数選択ができません。
ちなみにマウスでセルを複数ドラッグしたりすると毎回以下のエラーが出ますが、これは上記理由による仕様みたいなものです。「終了」を押してください。
簡易的な定型文入力のダウンロード、雑談
あくまでも簡易的なものなので、利用環境や用途によっては、手打ちしたほうが速いこともあるかもしれません。その辺はご自分の環境や仕事内容と相談してください。
上記のツール作成作業が面倒な方、難しくてわからない方のために、すでにマクロ登録済みのサンプルファイルをご用意しました。冒頭にある画像のものです。ダウンロードして自分好みにカスタマイズしてお使いください。
※マクロを有効にしてお使いください。
マルチモニタがあると良い
できればマルチモニタ推奨です。個人的には業務ではモニター最低2枚は全員持つべき派です。
モニターは1枚でも2枚でもできることは同じですが、効率がずいぶんと違います。今回の定型文入力ツールを別モニタに出しっぱなしにしておけば、定型文が欲しい時にマウスでポチッと選択するだけで利用できるので、とても便利だと思います。
マウスの機能ボタンも欲しい
これも繰り返しになってしまいますが、マウスの機能ボタンにコピー、貼り付けくらいは登録しておきたいものです。
僕が昔から愛してやまないG600とまではいかないまでも、仕事などを効率化したいのであれば、自分で自由に機能を割り振りできる系のマウスは持ったほうが確実に幸せになれます。コピー、貼り付け、戻る、進む、くらい操作できれば充分だと思います。
縦のマルチモニター最強説
まだマウス1台で消耗してるの?マウス2台で入力するデュアルマウスのメリット・デメリット
エクセルの写真帳票に簡単に写真を自動貼付できるようにするクラスモジュールの改良版
エクセルで選択したセルの文字を結合してひとつの文字列にするアドイン
エクセルで簡易テキストエディタを作ってみた
Excelでシートを複数選択して印刷できるアドインを作ってみた(前編)
Excelでシートを複数選択して印刷できるアドインを作ってみた(後編)
Excelでタテに並んだ大量のページに一発でたどり着くアドイン作りました
エクセルVBAで1~25までの数字をランダムに発生させる処理を考えてみました