FC2ブログ

FileMakerあれこれブログ

FileMakerに関する、あれやこれやの解決策や小技など、思い付いたものをどんどん書き込んでいきます。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ポータル内の行を上下の矢印キーで移動する方法

次のスクリプトを作成

If [ Code ( Get ( トリガキー入力 ) ) = 29 ]
ポータル内の行へ移動 [ 選択; 前の; 最後まできたら終了 ]
Else If [ Code ( Get ( トリガキー入力 ) ) = 31 ]
ポータル内の行へ移動 [ 選択; 次の; 最後まできたら終了 ]
End If
全スクリプト終了

ポータルオブジェクトに、作成したスクリプトを[OnObjectKeystroke]でトリガ設定

※スクリプトの最後に「全スクリプト終了」を入れないと、矢印キーを押したら、一番上や一番下の行まで一気に移動してしまいます。
また、スクリプトトリガはVer.10で追加された機能ですので、それ以降のバージョンでないと実現できません...

PortalRow.jpg


ポータル行をマウスで選択してから上下の矢印キーを操作すると、ポータル行を上下に移動できます。

PortalRow2.jpg

テーマ:ソフトウェア - ジャンル:コンピュータ

月齢の計算方法

Year ( D1 ) * 12 + Month ( D1 ) - (Year ( Date ( Month ( D2 ) ; Day ( D2) ; Year ( D2 ) + A1)) * 12 + Month ( D2 )) - (Day ( D1 ) < Day ( D2 ))

A1:年齢
D1:現在日(yyyy/mm/dd)
D2:誕生日(yyyy/mm/dd)

テーマ:ソフトウェア - ジャンル:コンピュータ

AutoHotkeyの更なる活用

そして更に、FileMakerで作ったシステムを利用する人に、AutoHotkeyの存在を感じさせないようにするには...
これにはFileMaker標準機能だけでの対処は難しいので、プラグインを使って実現させます。
使用するプラグインは「MooPlug」です。下記サイトからダウンロードできます。
http://mooplug.com/
このプラグインは非常に良く出来ていて、しかもフリーなので、本当に助かります。

先にプラグインをインストールする必要がありますが、これはとても簡単で、FileMakerを閉じた状態で、ダウンロードしたMooPlugの「MooPlug.fmx」というファイルを下記フォルダに入れるだけで完了です。
Windows7 64bitの場合「C:\Program Files (x86)\FileMaker\FileMaker Pro 11(Advanced)\Extensions」
WindowsXP 32bitの場合「C:\Program Files\FileMaker\FileMaker Pro 11(Advanced)\Extensions」

さて、AutoHotkeyの存在を感じさせないようにする方法ですが、FileMakerで作ったシステムを起動させると同時にAutoHotkeyを立ち上げ、閉じるときにAutoHotkeyも一緒に閉じてしまえば良い訳です。
まず最初に、スクリプトを作成します。

エラー処理 [オン]
変数を設定 [$AhkFileName ; Get( ドキュメントパス ) & "filemaker.ahk"]
変数を設定 [$ProcessList ; Moo_ProcessList( "¶" )]
If [PatternCount ( $ProcessList ; "AutoHotkey" )]
Else
Eventを送信 [「aevt」;「odoc」;「$AhkFileName」]
End If

ちょっとややこしいですが、行ごとに解説しますと下記のとおりです。
1行目:「Eventを送信」で、対象ファイルが見つからない場合などでもエラーダイアログが出ないように、エラー処理をオンにしておきます。
2行目:関数でドキュメントフォルダ内のAutoHotKey設定ファイル(filemaker.ahk)のパスを取得しておきます。
3行目:ここでMooPlugの出番です。外部関数から「Moo_ProcessList」を選択して引数に改行記号の「¶」をセットします。
この関数では、タスクトレイに出ているプログラム名のリストが改行区切りで作成され、それを変数「$ProcessList」にセットします。
4行目、5行名:$ProcessListに「AutoHotKey」の名前があったら何もせず、無かったら6行目に行きます。
6行目:Eventを送信で、AutoHotKey設定ファイル(filemaker.ahk)を起動させます。
7行目:終了

これをFileMakerのファイルメニューのファイルオプションで、このファイルを開く時に実行するスクリプトに設定します。

FileOption2.jpg

そして、もう一つスクリプトを作成します。

変数を設定 [$ProcessList ; Moo_ProcessList( "¶" )]
If [PatternCount ( $ProcessList ; "AutoHotkey" )]
変数を設定 [$ProcessKill ; Moo_ProcessKill( "AutoHotkey.exe" )]
End If

1行目:先ほどのスクリプトと同じで、現在起動中のプログラムのリストを作成します。
2行目、3行目:そのリストに「AutoHotkey」が含まれていたら、MooPlugの関数「Moo_ProcessKill」で「AutoHotkey.exe」を終了させます。
3行目:終了

このスクリプトをFileMakerのファイルメニューのファイルオプションで、このファイルを閉じる時に実行するスクリプトに設定します。

FileOption.jpg

これで設定が全て完了しました。
実際に動かして確認してみましょう!

FileMakerで作成したファイルを開くとタスクトレイに「H」マークが現れ、AutoHotkeyが起動します。
当然、FileMakerではファンクションキーが使える状態になっています。
そしてFileMakerのファイルを閉じると、タスクトレイからもAutoHotkeyが消えているはずです。

まるでFileMakerの標準機能であるかのようにファンクションキーがスムーズに使えます!
FileMakerで作ったシステムごとにAutoHotkeyの設定ファイルを作成すれば、システムごとにファンクションキー設定を変えることも可能になります!
やはりこれは使ってみるべきです!!

テーマ:ソフトウェア - ジャンル:コンピュータ

AutoHotkeyのインストールと設定

それでは、AutoHotKeyのインストールから始めましょう。
まずは下記サイトからプログラムをダウンロードします。
http://www.autohotkey.com/
ダウンロードされたら、「AutoHotkey104805_Install.exe」をダブルクリックしてインストールします。
オプションを聞いてくる画面が出てきますが、デフォルトのまま「次へ」を何回かクリックすると完了です。

インストール後、最初にAutoHotKeyを起動すると、英語でサンプルを作るかどうかという内容のダイアログが出てきますが、とりあえず「はい」を選択します。(「いいえ」を選択すると起動もやめてしまうようです...)
すると、Windows7では「ドキュメント」フォルダに、XPでは「マイドキュメント」フォルダ内に「AutoHotkey.ahk」という設定ファイルが作られます。と同時にAutoHotkeyがタスクバーに現れます。
インストールとAutoHotKeyの初期設定はこれで完了です。

次に、ファンクションキーを使いたいアプリケーションごとの設定ファイルを作ります。
まずは、対象としたいアプリケーションを立ち上げます。
続いて、タスクバーにあるAutoHotKeyのアイコンを右クリックし「Window SPY」をクリックして、「Active Window Info」というウィンドウを起動します。

WindowSPY001.jpg


この状態で、ファンクションキーを設定したい対象のアプリケーションのウィンドウをクリックしてアクティブにします。
すると、先ほどの「Window SPY」の画面にアプリケーションの名前が表示されます。
FileMaker Pro Advanced 11の場合ですと、下記のように表示されます。

WindowSPY002.jpg


その中で、上から3行目の「ahk_class FMPRO11.0APP」の部分だけをコピーしておきます。
「Window SPY」の役目は終わりましたので、閉じてしまいます。
続いて、ドキュメントフォルダに作成された「AutoHotkey.ahk」ファイルを複製します。
ファイル名は対象のアプリケーションの名前など、適当に付けます。
ファイルを右クリックして「Edit Script」をクリックすると、メモ帳などに中身が表示されます。

AutoHotkey_ahk.jpg


ほとんどが要らない部分なので、全て削除して下記のように書き直します。

#IfWinActive ahk_class FMPRO11.0APP
F5::^1
F6::^2
F7::^3
F8::^4
#IfWinActive

最初の行の「#IfWinActive」の後に、先ほどコピーしたアプリケーションの名前を貼り付けます。
次の行の「F5::^1」はF5キーを「Ctr+1」に割り当てます。という意味の記述です。
同様にF8まで記述してみました。
最後は「#IfWinActive」を記述します。
これで上書き保存します。
保存した後でこの.ahkファイルをダブルクリックしておくことで、この設定ファイルに記述したファンクションキーの設定が有効になります。
ですので、ダブルクリックしておくことを忘れないように。

もう一つ言い忘れましたが、FileMaker側でもファンクションキーに割り当てたいスクリプトをスクリプトメニューに表示させるようにして、FileMakerのデフォルトのショートカットキーである、Ctr+1などが動く状態にしておく必要があります。

それでは早速動きを試してみましょう!
FileMakerを立ち上げ、いきなりF5キーを押してみます...おお!スクリプトが動きました!!
素晴らしいです!!!

ちなみに、私の環境はWindows7 Professional 64bitで、FileMaker Pro Advancsd 11です。
もう一台、Windows XP HomeのノートPCでもしっかり動きました!
また、ランタイム版でも問題なく動作いたしました。
ランタイム版のアプリケーション名は「ahk_class FMPRO11.0RUNTIME」となっておりました。
皆さんもぜひ活用してみてください!

テーマ:ソフトウェア - ジャンル:コンピュータ

AutoHotkey

FileMakerではないですが、このアプリケーションは使えます!!
FileMakerでシステム開発していて、お客さんから「F5」「F6」などのファンクションキーを使いたいと要望されたことはありませんか?
FileMakerの標準機能であるスクリプトトリガやカスタムメニューで、特定のキー操作に割り当てることはできますが、ファンクションキーまでは割り当てられないですね...
ネットで検索するとファンクションキーを使えるようにするプラグインは幾つかありますが、どれも確実には動かないですね...
やはりだめなのか...とあきらめ掛けた時、「AutoHotkey」というソフトのことが書かれているサイトを見つけました。
早速ダウンロードして試してみると...これは素晴らしいです!
アプリケーションごとにファンクションキー(ホットキー)を割り当てることもでき、しっかり動作しました!!
これは使えそうです!
インストールと使い方に関しては、長くなりそうなので、次回の記事に書き込みます。

テーマ:ソフトウェア - ジャンル:コンピュータ

スクリプトトリガ設定ウィンドウをダイレクトに開

レイアウトモードで、Ctrlキーを押したまま、スクリプトトリガを設定したいオブジェクトをダブルクリックする

テーマ:ソフトウェア - ジャンル:コンピュータ

年齢の計算方法

Year ( D2 ) - Year( D1 ) - If ( Month ( D2 ) * 100 + Day ( D2 ) < Month ( D1 ) * 100 + Day ( D1 ) ; 1 ; 0 )
D1:誕生日(yyyy/mm/dd)
D2:現在日(yyyy/mm/dd)

テーマ:ソフトウェア - ジャンル:コンピュータ

前のページ

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。