InsertFromFile メソッドの第2引数

  1. マクロの InsertFromFile メソッドの第2引数についてマクロリファレンスには載ってないのですが、おそらくエンコード定数ではないかと予想しています。

    もしエンコード定数だとするとこの指定がうまく働いていないと思われます。

    Shift_JISで開いてるファイルに
    document.selection.InsertFromFile('UTF-8(BOM無し)のファイル', meEncodingNone);
    document.selection.InsertFromFile('UTF-8(BOM無し)のファイル', meEncodingUTF8WithoutSignature);
    で文字化け。

    UTF-8(BOM無し)で開いてるファイルに
    document.selection.InsertFromFile('Shift_JISのファイル', meEncodingNone);
    document.selection.InsertFromFile('Shift_JISのファイル', meEncodingShiftJIS);
    で文字化け。

    第2引数の指定に関係なく挿入先ファイルのエンコーディングで挿入ファイル読んでる感じです。

    第2引数がエンコード定数という予想が見当違いだったらごめんなさい。

     |  ucky  |  返信
  2. ご報告ありがとうございます。
    おぉ、確かにマクロリファレンスに載っていません!

    よく見つけられましたね・・・w
    おっしゃる通り、第二引数はエンコーディング定数です。
    そして、バグってました。

    完全にプログラミングミスです、、、Mery 2.0.16.4257 で修正しておきました。
    ほんっと、ちょっとしたミスです、、、変数名間違ってただけの・・・。グスン。

     |  Kuro  |  返信
  3. マクロリファレンスでは第二引数が
    >省略可能です。開くファイルのエンコード。 
    とありましたが、省略不可っぽいです。
    # 勘違いだったらゴメンナサイ

     |  ふくい  |  返信
  4. ご連絡ありがとうございます。
    確認してみましたところ、第二引数は省略できませんでした。

    現在の仕様的には、"省略不可" のほうが正しいです。マクロリファレンスのほうは修正しておきました。
    エンコード定数がどこに掲載されているのかしばらく悩みました^^; ので、それも追記しておきました。
    とりあえずは自動選択である meEncodingNone を指定する形になりますね。

    OpenFile のほうは省略できるのだから InsertFromFile も省略できても良さそうなものですが、プログラムミスというわけではなく、マクロ言語の開発で参考にさせていただいたエディタがそうなっていたので、それにならった感じです。

    でも、省略できたほうがイイと思いました。

     |  Kuro  |  返信
  5. マクロリファレンス修正ありがとうございます。
    meEncodingNone(自動選択)での挿入ができてありがたいです。
    便利に使わせてもらおうと思います。

     |  ふくい  |  返信