◀マクロトップへ
  • 580 外部マクロが環境によって動かない
    • 582 Re: 外部マクロが環境によって動かない
      • 583 Re2: 外部マクロが環境によって動かない
        • 584 Re3: 外部マクロが環境によって動かない
  • [580] 外部マクロが環境によって動かない mae 2014年06月06日 08:25

    お世話になっております。連投で申し訳ありません。
    外部マクロなのですがJSでUTF-8記入したものを自宅の環境
    win7で実行した際はちゃんと動きました。

    win8の中国語版を日本語表示にしてあるもので試した所
    「マクロ1()の実行に失敗しました」
    という表示が出てしまいます。
    マクロの文字コードをUTF-8のBOM付き、BoMなし両方に変更してみましたが
    だめでした。

    他に考えられる原因などお心あたりございましたら、お教えください。

    • [582] Re: 外部マクロが環境によって動かない もか 2014年06月06日 21:22

      >「マクロ1()の実行に失敗しました」
      このエラーの()の中身が記述通り空欄だった場合、マクロのファイル名の取得に失敗しています。
      共通設定のマクロのところを見直してください。
      [設定(A)]ボタンを押し忘れたとか一番上にあるフォルダ指定の場所がおかしいとかかも。
      • [583] Re2: 外部マクロが環境によって動かない MAE 2014年06月11日 10:29

        もかさん

        すみません、私の書き方が間違っていました
        「マクロ3(マクロ名)の実行に失敗しました。」
        とでます。

        • [584] Re3: 外部マクロが環境によって動かない もか 2014年06月11日 18:06

          A. マクロファイルのアクセス権がない場合
          ファイルの読み込みに失敗している可能性があります。
          サクラエディタの排他制御を「読み書きを禁止する」にしていてsakuraで開いている場合も実行できません。
          ファイルのフルパスが260文字を超える場合もおそらくエラーになります。
          セキリティーソフトに妨害されることもあり得るかもしれません。

          B. レジストリの関連付けを確認してください
          ファイルの関連付けを書き換えられていると実行できなことがあります。
          1. HKEY_CLASSES_ROOT\.js\(既定)の文字列値(デフォルトだとJSFile)
          2. HKEY_CLASSES_ROOT\<上記1.文字列値>\ScriptEngine\(既定)の文字列値(デフォルトだとJScript)
          (1.)の文字列はJSFileでなくても(2.)のレジストリパスと文字列が存在していればOKです。
          このエラーメッセージはこのA.B-1,B-2のどれかで出ると思います。

          1.2.を修正しても「指名のスクリプトエンジンが(見つかりません|作成できません)」が表示される場合
          3. HKEY_CLASSES_ROOT\<上記2.文字列値>\CLSID\(既定)={f414c260-6ac0-11cf-b6d1-00aa00bbbb58}
          4. HKEY_CLASSES_ROOT\{f414c260-6ac0-11cf-b6d1-00aa00bbbb58}\InprocSerer32\(既定)=C:\Windows\System32\jscript.dll
          4. HKEY_CLASSES_ROOT\{f414c260-6ac0-11cf-b6d1-00aa00bbbb58}\InprocSerer32\Threading
          Model=Both
          等が必要です。

          C.拡張子が「.js」になっていない
          未知の拡張子だともちろん実行できません。

          なおUTF-8の場合は、BOM付きにしてください