06/21

前回のMortScriptでは、一番初歩的なプログラムともいえる「ダイアログの表示」しかしていませんでしたが、今回はこれも基本といえる「プログラムの起動」を行ってみたいと思います。

  • MortScript 公式サイト
    http://www.sto-helit.de/

  • 以前の第一回はこちらです。

  • MortScript、始めました。
    http://shinjiman0101.blog21.fc2.com/blog-entry-339.html

  • プログラム(アプリケーション)の起動を行ってみます。前回と同じようにテキストエディタで作業します。

    Run("\Windows\pxl.exe")
    test3.mscrtest3.mscr 実行後


    と入力し、test3.mscrと保存します。実行すると、Excel Mobileが起動します。ショートカット(拡張子lnk)や、ファイル本体を実行することも可能です(この場合は関連付けされたアプリケーションが起動します)。しかし上記の構文の場合パソコン版のExcelとは違うので、新規ファイルで自動的に起動しません(ファイル選択画面になります)。また、この構文は

    Run("\Windows\pxl.exe","\My Documents\hogehoge.xlsx")
    test4.mscrtest4.mscr 実行後

    ※hogehoge.xlsxは例

    という風に「引数」を与えてやることも可能です。与える引数は複数ある場合もまとめてダブルクォーテーションで囲みます。この構文だと、Excel Mobileが起動し、なおかつファイル「hogehoge.xlsx」を読み込んで起動します。

    このRun()構文は指定されたアプリケーションを実行しますが、もしこの構文の後にもスクリプトを記載していた場合、Run()構文実行後、その結果とは関係なしに次のスクリプトを実行します。アプリケーションを実行してその終了を待ってスクリプトを実行させる場合は、

    RunWait("\Windows\pxl.exe")
    test6.mscr 途中Excel起動中


    と記述します。RunWait()構文はアプリケーションを実行し、その終了を「待っている状態」なので、この場合Excel Mobileが終了するまでスクリプトは継続実行されています。ここで注意するべきなのは、「ショートカット(拡張子lnk)はダメ」ということですね。実行ファイル本体でないと認識してくれないようです。

    If(Question("Excelを起動しますか?","起動の確認","YesNo") = 1)
        Run("\Windows\pxl.exe","\My Documents\hogehoge.xlsx")
    Else
        Message("スクリプトを途中で終了しました","中止の確認")
    EndIf

    Message("スクリプトの最後なので終了しました","完了の確認")

    と記載すると、

    test5.mscr/test6.mscr 分岐ダイアログの後、

    test5.mscr 完了Excel Mobileが起動してなお、最後のダイアログが実行/表示されます(実際には起動のタイミングでダイアログは背面に隠れてしまいます)

    しかし、
    If(Question("Excelを起動しますか?","起動の確認","YesNo") = 1)
        RunWait("\Windows\pxl.exe","\My Documents\hogehoge.xlsx")
    Else
        Message("スクリプトを途中で終了しました","中止の確認")
    EndIf

    Message("スクリプトの最後なので終了しました","完了の確認")

    と記述すると、

    test5.mscr/test6.mscr 分岐ダイアログは同じですが、

    Excel mobileが起動し、アプリケーションを終了させると、最後のダイアログが実行/表示されます。Excel Mobileが起動している間はスクリプトも起動したまま、ということですね。

    test6.mscr 途中Excel起動中test6.mscr 完了

    test5.mscr/test6.mscr 途中終了ちなみに、最初の分岐で「いいえ」を選択すると、同じ結果です。

    これで、スクリプトの中心となるアプリケーションの実行を分岐も含めてMortScriptで制御できるようになりました。

    今回、作成したファイルです。ファイル名の拡張子txtをmscrにして下さい。

  • test3mscr.txt
  • test4mscr.txt
  • test5mscr.txt
  • test6mscr.txt


  • にほんブログ村 携帯ブログへにほんブログ村 携帯ブログ NTTドコモへにほんブログ村 携帯ブログ スマートフォンへにほんブログ村 PC家電ブログ デジモノへ

    a quickr pickr post

    関連記事

    2 Comments

    • Name:しろがね
    • いつも参考にさせてもらっています。

      MortScriptの記事も楽しみです。

      バックライトを常にONというコードなんかも
      簡単に書く事が出来るのでしょうか?
    • 2010/06/22 16:25 | URL 
    • Name:シンジマン
    • > しろがね 様
      ありがとうございます。かなり励みになります(笑)。MortScriptは私も手探り状態で始めているので、呼んでいただいている方(がいれば…)と一緒に覚えていければよいな、と思っています。
      読みにくいかも知れませんがお付き合いください。

      バックライトについてですが、この端末の設定値あたりはレジストリの値を取得することで可能のようですね。どのレジストリの値なのか…などについては随時書いていきたいと思います~。
    • 2010/06/22 19:04 | URL   [ 編集 ]

    Leave a Comment


    Trackback

    http://shinjiman0101.blog21.fc2.com/tb.php/361-6508e249

    カレンダー

    プロフィール

    カテゴリ

    Comments...A

    アクセスランキング

    3D球体タグクラウド

    リンク

    参加サイト

    広告