◀マクロトップへ
  • 339 文字列byte長の取得方法
    • 340 RE: 文字列byte長の取得方法
    • 343 Re:文字列byte長の取得方法
  • [339] 文字列byte長の取得方法 ガンジャム 2006年12月22日 19:32

    WikiへExcel範囲コピーのSQLPLS風貼り付けマクロを登録した者です。

    vbsのLenB()を使用しても内部処理形式がUNICODEの為、
    半角も全角も1文字としてカウントされてしまいます。
    そこでExcelのプロセス上で変換しているのですが、
    Office2003ではスクリプトから標準モジュールへコードを渡す方法が
    エラーとなってしまいます。

    xlsファイルを用意しておけばいいのですが、
    他にいい方法はないでしょうか?
    • [340] RE: 文字列byte長の取得方法 maru 2006年12月22日 19:54

      >vbsのLenB()を使用しても内部処理形式がUNICODEの為、
      (前略)さんの罫線マクロのなかに、ByteLen()やByteMidなど
      便利な関数があり、参考になると思います。

      http://qwerty.s2.xrea.com/XA5B5A5AFA5E9A5A8A5C7A5A3A5BF2FA5DEA5AFA5ED2FB7D3C0FEA4F2B0FAA4AFX.xhtml
    • [343] Re:文字列byte長の取得方法 ガンジャム 2006年12月25日 23:34

      (前略)さんのByteLen()をそのまま利用して更新しました。
      Excel呼び出すより全然速いです。

      同様の方法で上下左右に罫線枠をつけて挿入するマクロも追加しました。
      hoge
      moge
      ↓
      ┌──┐
      │hoge│
      │moge│
      └──┘

      という感じです。