情報アイランドNode.js情報アイランド「情報を制する者は世界を制す」をモットーに様々な情報を提供することを目指すブログです。現在はプログラミング関連情報が多めですが、投資関連情報も取り扱っていきたいです。前回はHiMacroExというソフトを導入し、主に「記録」ボタンによるプログラムの自動生成について説明しました。今回はプログラムを直接自分で書く方法について見ていきたいと思います。言え、プログラムを自分で書くにはHiMacroExのプログラミング言語を完璧ではないにしてもある程度は覚えていなければなりません。1回の記事でHiMacroExのプログラミング言語の全てについて解説するにはあまりにも紙幅が足りませんので、今回から少しずつHiMacroExのプログラミング言語やそれに関連するプログラミングの概念について解説し、それに併せてプログラムの実例も作成していきたいと思います。最初は簡単なところから始めていきます。プログラムについて本当に一番最初に知っておかなければならないことを前回自動生成したプログラムを眺めながら説明したいと思います。前回自動生成したプログラムの一部は下のようになっていました。このプログラムをもう少しよく見てみましょう。このプログラムは依然として謎の文字列ではありますが、見たところ、1行に全部書かれているのではなく、複数行に分けて書かれているのが分かります。縦スクロールバーが表示されていることからも分かるように、横に長いというよりは縦に長いです。実は、HiMacroExのプログラムの1つ1つの命令というのは1行に1つずつ書いていきます。プログラムの1つの行は1つの命令を表しています。どんな命令でも別々の行に書いていかなければなりません。逆に、仮に1つの行に複数の命令を書いてしまった場合にはプログラムは正しく動かなくなってしまいます。それは最早正しいプログラムではありません。命令は1行に必ず1つだけ記述する。いうのはHiMacroExのプログラミング言語におけるルールの1つであり、最も基本的なものです。ルールなので必ず守らなければならないものです。次に、プログラムを自動生成した時のことを思い出してください。プログラムを自動生成した時、HiMacroExの画面のテキストエリアに命令を表す文字列が自動的に入力されていったかと思いますが、それはどういう風に入力されていったでしょうか?上から下に、つまり、既に入力されている文字列の一番後ろに追加されていく形で入力されていったのではないでしょうか。その時のことを思い出せない方はもう一度適当なプログラムの自動生成を試してみましょう。プログラムの文字列がどんどん追加されていく様子が観察できるかと思います。キーボードから「foo」と入力するプログラムを自動生成した場合には下のようにプログラムが生成されていきます。このことからも分かるように、実は、HiMacroExのプログラムの命令というのは一番上から順番に実行されていきます。言って、プログラムに記述されている全ての命令が全て等しく1回ずつ実行されていく訳ではないのですが(この点については次回以降で解説します)、基本的に命令は一番上から順番に実行されていくということに変わりはありません。逆に言えば、プログラムを書く時には、命令は実行させたい順番で並べていかなければならないということでもあります。仮に適当な順番でプログラムの命令を並べてしまった場合にはプログラムを実行するとその適当な順番で命令が実行されてしまうということになります。命令の順番は重要であって、しかも、その順番は基本的に上から下であるということです。順番が間違えていたら、それは最早意図したプログラムとは別の、意図していないプログラムになっています。命令は必ず実行させたい順番で上から下に順番に記述する。いうのはHiMacroExのプログラミング言語におけるルールの1つであり、最も基本的なもののもう1つです。ルールなので必ず守らなければならないものです。命令は1行に必ず1つだけ記述する。命令は必ず実行させたい順番で上から下に順番に記述する。この2つのルールはHiMacroExのプログラミング言語における本当に最も基本的なルールであり、まずこの2つを覚えるようにしましょう。この2つのルールを知っているだけでも、簡単なプログラムなら既に書くことができるようになっています。この他に、肝心の命令の書き方を覚える必要はあります。次に、命令の書き方について見ていくことにしましょう。キーボード関連の命令HiMacroExのプログラミング言語には様々な命令が用意されていますが、最も重要なのはキーボード関連の命令です。この命令により、プログラムを実行した際にキーボードのキーを操作しろという命令をHiMacroExに与えることができます。言っても、HiMacroExはキーボードを操作しろという命令を受け取っても、実際にキーボードを押したりする訳ではありません。パソコンの中のバーチャルな存在であるHiMacroExが物理的な存在であるキーボードを実際に操作できるはずはありません。「キーボードのキーを操作しろという命令」というのは「キーボードのキーを操作したことにしろという命令」と表現した方がより正確です。実際に物理的なキーボードを操作するにしても、キーボードを操作したことにするにしても、パソコンに対して何らかの操作が行われるという結果には変わりありませんので、あまりこの点をはっきりと区別する必要はありません。キーボードには沢山のキーが付いていますが、HiMacroExが用意しているキーボード関連の命令にも沢山のものがあります。標準的なキーボードに付いているキーに対応する命令は凡そ全て用意されていると言って良いでしょう。それでは、そのようなキーボード関連の命令について順番に見ていきたいと思います。英字キーまず1つ目は、英字キー、すなわち、AキーからZキーまでに対応する命令です。標準的な物理的なキーボードでは下の部分に位置するキーです。HiMacroExでは英字キーを押す(押したことにする)命令はAからZという文字になっています。プログラムの中に命令としてAと記述すればAキーを押す命令を記述したことになります。他のキーについても同様です。実際、「記録」ボタンによるプログラムの自動生成でAキーのみを押すプログラムを作成してみると、そのプログラムには1行目にAとのみ記述されているのが確認できるかと思います。このように、英字キーを押す命令はキーに対応する文字を大文字で記述するだけで事足ります。記述する文字は半角文字でなければならないことには注意してください。全角文字で記述しても正しい命令にはなりません。命令AAキーを押したことにする。BBキーを押したことにする。YYキーを押したことにする。ZZキーを押したことにする。次に、数字キーに対応する命令です。標準的な物理的なキーボードでは下の部分に位置するキーです。HiMacroExでは数字キーを押す(押したことにする)命令も英字キーを押す命令の場合と同じで、0から9という文字になっています。命令00キーを押したことにする。11キーを押したことにする。88キーを押したことにする。99キーを押したことにする。次に、英字キーや数字キーの右隣には記号を入力するためのキーが配置されています。標準的な物理的なキーボードでは下の部分に位置するキーです。記号キーを押す(押したことにする)命令はキーに応じて下のようになっています。命令OEM(-)-キーを押したことにする。^^キーを押したことにする。\\キー(1段目)を押したことにする。@@キーを押したことにする。[[キーを押したことにする。;;キーを押したことにする。::キーを押したことにする。]]キーを押したことにする。,,キーを押したことにする。OEM(.).キーを押したことにする。OEM(/)/キーを押したことにする。\\キー(4段目)を押したことにする。若干覚えにくそうなものも混ざっていますが、このように決まっていますのでこれに従うしかありません。ややこしいのが\キーについてです。\が入力できるキーには2つあることをご存知でしょうか。数字キーと同じ段の右端にあるキーと、逆に英字キーの一番下の段と同じ段の右端にあるキーの2つです。この2つのキーを押す命令は前者の方が半角の\となっており、後者の方が全角の\となっていますので注意してください。次に、数字キーは数字キーでも普通の数字キーではなくテンキーに対応する命令です。標準的な物理的なキーボードでは下の部分に位置するキーです。テンキーの数字キーを押す(押したことにする)命令はNumpad0からNumpad9という文字列になっています。Numpadという文字の後に対応する数字を記述します。命令Numpad0テンキーの0キーを押したことにする。Numpad1テンキーの1キーを押したことにする。Numpad8テンキーの8キーを押したことにする。Numpad9テンキーの9キーを押したことにする。テンキーには他にもキーがあります。これらのキーを押す(押したことにする)命令はキーに応じて下のようになっています。命令.テンキーの.キーを押したことにする。*テンキーの*キーを押したことにする。+テンキーの+キーを押したことにする。-テンキーの-キーを押したことにする。/テンキーの/キーを押したことにする。NumLockNumLockキーを押したことにする。NumpadEnterテンキーのEnterキーを押したことにする。次に、ファンクションキーに対応する命令です。標準的な物理的なキーボードでは下の部分に位置するキーです。ファンクションキーを押す(押したことにする)命令はF1からF12という文字列になっています。キーボードのキーに書かれている文字列と全く同じ文字列です。命令F1F1キーを押したことにする。F2F2キーを押したことにする。F11F11キーを押したことにする。F12F12キーを押したことにする。次に、ShiftキーやAltキーやCtrlキーに対応する命令です。標準的な物理的なキーボードでは下の部分に位置するキーです。これらのキーには左側と右側の2種類があります(キーボードによっては片方しか存在しないこともあります)。これらのキーは別のキーと組み合わせて使われることが多いキーです。Ctrlキーを押しながらAキーを押すというような操作を行うことがよくあります。そのため、HiMacroExでもこれらのキーに関してはキーを押してそのままにしておく命令と、押したままになっているキーを離す命令の2種類の命令が用意されています。このおかげで、たとえば、Ctrlキーを押しながらAキーを押す操作は、「Ctrlキーを押してそのままにしておく命令」、「Aキーを押す命令」、「押したままになっているCtrlキーを離す命令」の3つの命令を順番に記述することで実現することができます。具体的には下のような命令が用意されています。Down左Shiftキーを押したままでいることにする。Up左Shiftキーを離したことにする。Down左Altキーを押したままでいることにする。Up左Altキーを離したことにする。Down左Ctrlキーを押したままでいることにする。Up左Ctrlキーを離したことにする。Down右Shiftキーを押したままでいることにする。Up右Shiftキーを離したことにする。Down右Altキーを押したままでいることにする。Up右Altキーを離したことにする。Down右Ctrlキーを押したままでいることにする。Up右Ctrlキーを離したことにする。最後に、その他のキーに対応する命令です。標準的な物理的なキーボードでは下の部分に位置するキーです。これらのキーを押す(押したことにする)命令はキーに応じて下のようになっています。命令EscEscキーを押したことにする。半角/全角キーを押したことにする。TabTabキーを押したことにする。CapsLockCapsLockキーを押したことにする。LWin左Windowsキーを押したことにする。無変換キーを押したことにする。SpaceSpaceキーを押したことにする。変換キーを押したことにする。カタカナカタカナキーを押したことにする。RWin右Windowsキーを押したことにする。ApplicationApplicationキーを押したことにする。↑キーを押したことにする。→キーを押したことにする。↓キーを押したことにする。←キーを押したことにする。EnterEnterキーを押したことにする。BackSpaceBackSpaceキーを押したことにする。DeleteDeleteキーを押したことにする。InsertInsertキーを押したことにする。PausePauseキーを押したことにする。PrintScreenPrintScreenキーを押したことにする。ScrollLockScrollLockキーを押したことにする。PageUpPageUpキーを押したことにする。PageDownPageDownキーを押したことにする。HomeHomeキーを押したことにする。EndEndキーを押したことにする。まとめここまでのまとめとして、物理的なキーボードのキーと対応する命令とを物理的なキーボードの図の上で関連付けてみましたので、参考にしてください。最後に、1点だけ補足しておきます。ここまでで様々なキーボード関連の命令を紹介しましたが、プログラムを自分で書いていく場合には直接これらの命令をテキストエリアに入力することもできますが、実は、HiMacroExのメニューには命令をテキストエリアに入力するための項目が用意されています。実際にHiMacroExの「命令」というメニューの中を見てみれば分かりますが、多くの命令(全ての命令ではないです)に対応する項目が用意されています。キーボード関連の命令の場合は「命令」メニューの「キー操作」の中に項目が用意されており、この項目をクリックすると項目に対応する命令をテキストエリアに入力することができます。命令の書き方を忘れてしまったような場合には「命令」メニューの中の項目を使うと便利かもしれません。つづく今回はプログラムを直接自分で書くための基本的なルールや命令について説明しました。今回の記事はこれでおしまいです。次回は今回説明した命令を実際に使って第1回の記事で例として出した画像を半分の大きさにリサイズするプログラムをHiMacroExで書いてみたいと思います。これでプログラミングの具体的な活用方法が見えてくるのではないかと思います。第4回pizyumiプログラミング歴19年のベテランプログラマー。業務システム全般何でも作れます。現在はWeb系の技術を勉強中。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。プログラミング歴19年のベテランプログラマー。プログラミング歴19年のベテランプログラマー。「情報を制する者は世界を制す」をモットーに様々な情報を提供することを目指すブログです。現在はプログラミング関連情報が多めですが、投資関連情報も取り扱っていきたいです。