top
[Index(X)][Back(B)]

罫線の助っ人 罫助さん

画面写真

※画像をクリックすると、原寸大で表示されます。

画面 画面
切り替えボタンで細線と太線を切り替えられる。

作品情報

作品名:
罫線の助っ人(けいせんのすけっと)罫助(けいすけ)さん」
作者名:
はりまお
制作環境:
Core i7-4770 3.40GHz + 8GB RAM
Windows 8.1 Pro (64bit)
開発言語:
Visual  Studio  Express  2013  for  Windows  Desktop (Visual  Basic  2013)
動作環境:
.NET Framework 4.5
形態種別:
フリーソフトウェア(オープンソース)

ファイル

"MrRule.zip"・・・[ダウンロード] (配布ファイル更新日:2025年01月27日)
名前バージョン概容
MrRule.exe1.0.2.1実行ファイル
readme.txt説明文(本文と同じ)
CraftLog.txt制作更新履歴
MrRuleソース収録フォルダ(不要なら削除可)


概要

テキストで表を作成したりする時、罫線を使いたい。でも、「いちいち keisenn変換… というキー操作を何回も何回も繰り返すのは面倒」とか「コピー&ペーストを駆使しても、なかなか効率よくいかない」と、お悩みではありませんか?
そんな不満を解消するのが、この罫線入力専用に設計された「罫助さん」です。

インストール・アンインストール

本作の使用には、『.NET Framework 4.5』をあらかじめ導入しておく必要があります。.NET Frameworkの導入方法は、OSによって異なるのでネットで調べてください。

インストールは、ダウンロードした圧縮ファイルの中身を、適当な場所に作成したフォルダに解凍するだけです。

アンインストールは、解凍先のフォルダをまるごと削除するだけです。本作は、レジストリに一切手を出してません。

アンチウィルスソフトについて

本作は、ウィルス対策ソフトによってマルウェアと誤認され削除される可能性があります。(作者自身も、Norton Internet Security 〜2015年02月21日の最新状態〜 によって、"SONAR.Heuristic.120"として見事に抹殺されました。)
このような事例が発生した場合は、各自の判断にて本作の実行ファイルをスキャン対象から外してください。設定方法については、各ウィルス対策ソフトの取扱説明書に従ってください。
心配な場合は、ソースに不正なコードが含まれていないことを確認した上で自前でビルドを行うなり、自己防衛策を講じてください。

使い方

起動は、"MrRule.exe"を実行するだけです。
常に、他のウィンドウよりも前面に表示されます。また、本作は、フォーカスを持ちません。

終了時に、表示位置と寸法を実行ファイルと同じフォルダに"resume.dat"名で保存し、次回起動時に復元されます。初期化したい時は、削除してください。

本作の各ボタンをクリックすると、他のアプリケーションの現在フォーカスを持っている入力欄にその文字が送信されます。 入力できるのは、Shift-JISの罫線です。Unicode(UTF-16)の罫線は、種類が多過ぎたため対応を見送りました。

左上にある切り替えスイッチをクリックすると、罫線の太字と細字を切り替えられます。

2Spは、空白文字を2つ入力します。Sp2Spは、IMEがON状態でも半角で入力されます。

プロジェクトについて

プログラム全般

今作は、非常に簡素なので簡単に解析できると思います。どんどん手を加えてください。

キーの送信方法

.NETの《SendKeys.Send()》は、キーストロークを送信するだけでなく、文字列そのものを送信できるようです。この機能によって、全角文字を送信しています。この使用方法が正解なのかはわかりません。とはいえ、問題なく動いているので、こういう物なんだと思っています。
《SendKeys.Send()》の本来の役割からいえば、クリップボードを経由する方が正しいのかもしれませんが、これはスマートさに欠けるので…(拙作『理想十鍵』の過去のバージョンでこの方法を使ったこともある)。ネットで見ている限りでは、Win32APIの《SendInput》を使うのがより王道なのかもしれません(しかし、使用法が面倒くさそう)。

送信する文字列は、各《Button》コントロールの《Tag》プロパティに格納しておいて、《Click》イベントの時の使用しています。《Tag》プロパティは、なんでも格納できるので非常に便利です。

Sp2Spボタンは、半角専用となっています。これは、Shift+Spaceキーの組み合わせで送信することで実現しています。この操作は、MS-IMEを元にしていますが、他のIMEを使ったことがないのでそれらも共通なのかは知りません…あしからず。

終了時の位置と寸法の保存

プログラムの簡素化のためにテキストではなくバイナリファイルとしました。いつもは、改変したり中身を覗いたりし易いようにテキストファイルとするのですが、今回は中身の重要度ががほぼ0なのでバイナリでも構わないと判断しました。(平たく言ううと、プログラム量に対してテキスト入出力&数値変換&例外処理に労力を割くのが面倒臭くなっちゃっただけ。)

開発こぼれ話

"readme.txt"やコードを書く時、罫線をよく使う。罫線の多用は、漢字変換作業を繰り返すことになり辟易しちゃう。
御多分に漏れず、姉妹ソフト『理想十鍵』の"readme.txt"でもうんざり。そんな時、「そうや、理想十鍵のパッドに罫線を割り当てたらイイんやんか!」と閃いちゃって、いざ実践しようと思ったらキーが足りないじゃないの…ガックリ。
仕方がないので、専用ソフトを創っちゃいました。罫線は、表組みで使用することが多いので、集中的な作業となるから、理想十鍵のような退避機能はそぎ落としてシンプルに仕上げました。歴代中稀に見るプログラムの短さ。コスパ高! なんだかスッキリ。
数十年続いた変換地獄も、これにて一件落着。

コーディングの時、変数名とかプロシージャ名とかに日本語(ローマ字)を使うか迷う。自分は、英語が大の苦手(全くもって才能なし)なので、日本語で命名できればすごく楽なんやけど…。
でも、プログラミング言語は基本的に英語で構成されていて、その中にローマ字が混ざるというのは、見分け辛そうで何とも釈然としない。かといって、全角文字を使うのは強烈な違和感を覚える。
それに、「ローマ字というと“ヘボン式”」っていうのが一般的やと思うけど、個人的には「日本語には“日本式(訓令式)”」の方が馴染む(実を言うとローマ字も得意ではなくて、日本式の方が覚え易かったのよ)。この趣向の違いも、ローマ字の使用をためらわす要因の一つ。
今作では、簡便さを取ってローマ字を使ってみようと書き始めたんやけど、できてみたら結局"KeisenMozi"っていう配列名ただ一つやった。う〜む、なんだかなぁ…。

'ボタンは、VBの注釈を記述するために設けました。全くの私的需要を満たすためのものです。BASIC使いでない人には、無用の長物ですね。ごめんなさい。

参考・引用文献/拝借物

毎度、有難う御座います。大変お世話になりました。

リファレンス/サンプル

アイコン作成ツール

[Top(T)][Index(X)][Back(B)]