[コンピュータ・モバイル]MortScript4.2でショートカットキーをSendKeysすると

Willcom03に入れてるMortScriptのヴァージョンを4.1から4.2にしてみた。そしたら、自作スクリプトが動かなくなってちょい焦ったのでここに記録しておく。

動かなくなったスクリプトは、自動的にPOsyncを起動してGoogleカレンダーのカレンダー・他のカレンダーと予定を同期するという今は自分だけで使ってるヤツ(もしかしたらそのうち公開するかも…しないかも…)。

問題となったのはどこだろうとスクリプトを調べてみるとSendKeysコマンドだった。MortScriptのチェンジログを見るとImproved SendKeysなんて書かれてるので何かしら動作が変更されて、そのために動かなくなったようだ。

具体的な動作を記すと、POsyncのメニューをSendLeftSoftコマンドで開いてからショートカットキーをSendKeysコマンドで送るといったことを行ってるんだけど、SendKeysしてもその操作が行われない!その後、何かしらの動作(画面クリックやらカーソルキー押しやら何でも)をすると何事もなかったかのように実行される。このままじゃ、あかんやろと。

説明が分かりにくいのでもう少し簡単に言うと、メニューのショートカットキーをSendKeysしてもすぐに実行されないということです。

これを回避するには、MortScriptのヴァージョンをチェックして4.2だったら何かしら動作を行う…というのが素直でいいかなと思った。例えば…、

SendLeftSoft("ウィンドウタイトル")
SendKeys("ウィンドウタイトル","ショートカットキー")

と、左ソフトキーを押してからショートカットキーを送るなんてしているところを、

SendLeftSoft("ウィンドウタイトル")
SendKeys("ウィンドウタイトル","ショートカットキー")
ver=Split(MortScriptVersion(),".",1)
If(ver[1]&ver[2] eq "42")
  SendLeft("ウィンドウタイトル")
EndIf

という感じで、左ソフトキーを送ってメニューを開きSendKeysしたときには続いてSendLeftを行う。右ソフトキーの場合にはSendRightね。まぁ続けてやる動作は何でもいいんだけど、押しても一番害がなさそうなのは左右のキーかなと思って。(ちなみに、ヴァージョンチェックで4と2だけにしてるのは、4.2.0.0の上2つで十分かなと思って)

実際にスクリプト中で使うときには、

Call("leftmenucr","ウィンドウタイトル","ショートカットキー")
...
Sub leftmenucr
  Local(ver)
  ver=Split(MortScriptVersion(),".",1)
  SendLeftSoft(argv[1])
  SendKeys(argv[1],argv[2])
  If(ver[1]&ver[2] eq "42")
    SendLeft(argv[1])
  EndIf
EndSub

とサブルーチン化すると、Callで呼び出せばいいので汎用的でいいと思う。

もっと根本的な解決法、あるいは他のもっとスマートな回避法があれば誰か教えてくださいな。

ちなみに、POsyncではない他のソフトでも起こるのかは調べるのがめんどくなったので今のところ不明。

とりあえずはこれで、自作スクリプトも今まで通り動くようになったしめでたしめでたし。

[コンピュータ・モバイル]WMでもGoogle Syncでサブカレンダーまで同期するには…?

iPhoneオーナー、WindowsMobile搭載機オーナーの間で人気沸騰中のGoogle Sync

デバイスの連絡先・予定とGoogleの連絡先・カレンダーを双方向で同期できるということで、この説明の通りならホントに素晴らしい。試しにググってみたらハイテンションな紹介記事がいくつもあったからねぇ、それだけ期待が大きいということかな。

でも、どうやらまだWindowsMobileではGoogleカレンダーのサブカレンダーを同期することはできないらしい。ということで、WindowsMobileでもGoogle SyncでGoogleカレンダーのサブカレンダーまで同期できるようになったら、すぐにでも表示されるようにする方法を書いておこうかな。

ただ、これをやったからといってサブカレンダーが表示されるようになるわけではないので注意。ただ単に前もって設定しておこうってだけ。つまり、この記事はなんの役にも立たない、ただの自己満足の世界w

WindowsMobileでGoogle Syncの設定をする

Google Syncを使うためには、ActiveSyncに設定をする必要がある。そのやり方は、…まぁ分かりやすいどっか他のブログの記事を見てもらうとして、その後Google Syncの設定をするにはm.google.com/syncにアクセスする。

ただ、このとき設定画面がiPhoneならきちんと表示されるみたいなんだけど、WindowsMobileでは表示されない(まぁWindowsMobileではまだサブカレンダーに対応してないわけで設定する意味がないからね、当然っちゃ当然なんだけど)。ではどうするか。簡単。UserAgentを偽装すればいい。

NetFrontのUserAgentをiPhoneに偽装する

そいでは早速。NetFrontの「ブラウザ設定」を開いて、更に「メニュー」から「ネットワーク」を選択。そして、「ユーザエージェント」ってトコにこのようなのを追加するわけ。

NetFrontのUserAgentをiPhoneに偽装する

タイトル:
iPhone
ユーザエージェント:
Mozilla/5.0 (iPhone; U; CPU iPhone OS2_0 like Mac OS X; ja-jp)
appName:
AppleWebKit/420+ (KHTML, like Gecko)
appVersion:
Version/3.0
appCodeName:
Mozilla
language/platform
ja-jp/iPhone

タイトルは何でもいい。

ちなみに、おんなじiPhoneでもファームウェアやヴァージョンによってUserAgentも微妙に変わるので、そこはまぁ適当に。それから、UserAgentの設定ができるなら別にNetFrontじゃなくてもいいと思うよ。

実際にGoogle Syncの設定をする

NetFrontのUserAgentをiPhoneに偽装した状態で、m.google.com/syncへアクセス。日本語では設定できないので言語をEnglishにすると、iPhoneとして認識されるので設定だけはできるハズ。設定だけね。

Google Syncの設定 : iPhoneに偽装してアクセスGoogle Syncの設定 : サインインGoogle Syncの設定 : デバイスの管理Google Syncの設定 : 同期するカレンダーの設定

アクセス → サインイン → PocketPC → カレンダーをチェック、で保存。これでどうだろ?

終わりに

実際にsimaもWillcom03でGoogle Syncを早速試してみたら、iPhoneやWindows Mobile端末を使用している場合は、既存の連絡先やカレンダーが消去されるので気をつける必要があるという説明があったけど、同期しても消えることはなかった。…ただ、その代わりに、Googleカレンダーの予定が重複して2重になり、Willcom03の連絡先のフリガナが「?????」になったけどね。…うぉい!w

これはあかん、ともっかい同期してみたら今度は説明の通りサクッと全部消えたw

バックアップをとっておいたので元に戻すのは意外と簡単だったけど、Google Syncを使うのはちょっとの間は見送りかな。simaは様子見で。

プロフィール

sima

ガジェット大好き。おもしろアイテム大好き。いろいろとまぁ物欲を刺激するモノが多いけど、なかなか手に入れることができないでいる。いつかは自分の部屋を、自分が気に入ったモノだけで埋め尽くしたいものだなぁ。…あっ、これ将来の夢ね。

Twitter はフォロー大歓迎なのでよろしく。よく蚊と戦ってるよ。

最新記事

  1. OpeTumblr の Opera Extensions (拡張機能) 版を密かに公開 (05月25日)
  2. シカ成分を補充したら幸せになった (04月24日)
  3. ブログを(内部的にガッツリと)リニューアルしてみた (12月10日)
  4. 補完モードを開始するマッピングを書く (10月25日)
  5. アボカドを育ててみた…かった (07月23日)
  6. 正規表現クロスワードを完全クリアしてみた (07月19日)
  7. Gmail バックアップソフトの Gmvault が動かないときの解決法 (07月14日)
  8. Google アカウントが消える前に! Gmail フルバックアップのススメ (06月30日)
  9. 厳選して使っているポイントサイト2つ (03月27日)
  10. Tumblr で画像を Lightbox 表示!(しかも何も導入せずに) (03月21日)

カテゴリ

アーカイブ

コメント

Gmail バックアップソフトの Gmvault が動かないときの解決法
dsfds (03月31日)
OpeTumblr の Opera Extensions (拡張機能) 版を密かに公開
sima (06月26日)
you (11月30日)
you (11月30日)
sima (10月28日)
HTML ソースの改行を半角スペースにしない方法
ok (06月21日)
sima (05月28日)
edvakf (05月28日)
英数字・記号を並べてみる
ふぁ (11月25日)
コメハチ (11月02日)
OperaでもっとTumblrる!(OpeTumblrをまたまた改良)
you (05月09日)
sima (05月07日)
you (05月04日)
chikuwa (12月12日)

トラックバック

20代で知っておくべき週番号のこと
full of universe (05月16日)
UKTenkiを自動巡回させてみる(MortScript)
なんとなくすばらしい日々の戯れ言 (01月31日)
新着メールを一気に開くMortScriptを改良!
PDAと私生活 (11月07日)
PDAと私生活 (11月02日)
コイツはすごい!Windows Live Writerでブログ投稿をラクラクに
シーサーイーサー (10月31日)
Willcom03で新着メールを一気に開く!(MortScript)
PDAと私生活 (10月10日)

のカレンダー