• ベストアンサー

文字列長について

教えて下さい。 Len関数を使って文字列の長さを調べるとき Len("ABCDE") Len("ABCDE") を実行するとどちらも5が返ってきますよね? でも 5 10 と返ってほしいんです。 なにか方法ありませんか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

VBの文字列はUnicode("A" も "A" も1文字、かつ2バイト)で構成されているので、以下の方法でカウントしてください。 LenB(StrConv("ABCDE", vbFromUnicode)) LenB(StrConv("ABCDE", vbFromUnicode)) (VB6以下の場合)

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

noname#7749
noname#7749
回答No.2

VB 5.0、6.0 なら、LenB(StrConv(Arg,vbFromUnicode)) でOK。 Office 97 以降のVBAについても同様。 VB.4.0以前、VB.NETについては、私は知りません。

全文を見る
すると、全ての回答が全文表示されます。
  • nota55
  • ベストアンサー率37% (138/366)
回答No.1

バイトをカウントする時は LENB を使います。 

hide_fuu3
質問者

補足

レスありがとうございます。 LENBも試しましたが、 "ABCDE" → 10 "ABCDE" → 10 となってしまいます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 文字列が連続しているかどうか調べたいのですが、良い方法はないでしょうか

    文字列が連続しているかどうか調べたいのですが、良い方法はないでしょうか? ExcelVBAです。 例えば"abc12saaa"などと文字列があって、4文字以上同じ文字が連続したいるか、4文字以上順番になっている文字があるかを調べるにはどのような方法があるでしょうか。 順番になっている文字とは"abcde"とか"1234"のようなものです。 1文字ずつ取り出して比較したり、1文字ずつAsc関数で数値化すればできるとは思いますが、スマートな方法、既存の関数とかないでしょうか。 よろしくお願いします。

  • 文字列の判別させるプログラム

    長さの等しい2つの文字列を入力しては、片方を何文字か左に回転したときにもう一方と一致するかどうか調べる関数rotateLを作るのですが、よくわかりません。 たとえば、 文字列1=abcde 文字列2=bcdea なら 一回転で一致 となる関数なのですが、この判別はどのようにすればいいのですか?

  • 初歩的なプログラムなんですが・・・

    まだ勉強始めたばっかりで色々ネットのページも調べてみたんですがどうしてもわからないのでどなたか教えてもらえませんか?? scanf()関数を用いて同じ長さの文字列を2つ入力して、この2つの文字列が同じ文字列ならば、 「等しい文字列を入力」と画面表示して、異なるならば「異なる文字列を入力」と画面表示したいんですが^^; 実行結果は 同じ長さの文字列を2つ入力しなさい abcde abcde 等しい文字列を入力 のような結果がほしいんです。 どなたかお願いします^^;

  • Javascriptで文字列中の最後の"のみを消去するには?

    Javascriptで"が最終文字に含まれた文字列から、それを取り除いた文字列を得る方法がどうしても分からないので、どうか教えてください。 例)「abcde"」→「abcde」 もしよろしければ「a"bcde"」→「a"bcde」といった「"」が途中に出てくるやり方もお願いします。

  • エクセルの関数で左から文字まで

    エクセルの関数で左から(数字以外の)文字までの文字数を返す関数はどのように表せばよいのでしょうか。 具体的には 25 34 345 ああああ54525 156 のような文字列で初めの「あ」までの文字数「11」を返す関数が知りたいです。スペースも入っています。 Findやlenを使って色々考えましたがどうも上手くいかずといった感じです。よろしくお願い致します。

  • 重複した文字列を一つにしたい

    入力された文字列から連続した特定の文字列を一つにまとめたいです。 例えば、まとめたい文字列が「123」だとすると、 「…abcdefghijk…」や 「…abcde123fghijk…」はそのままで 「…abcde123123123fghijk…」のようなものを 「…abcde123fghijk…」としたいです。 取り除くだけでしたら、 $mojiretu =~ s/123//g; で簡単だったのですが、 やり方に見当もつかず悩んでいます。

    • ベストアンサー
    • CGI
  • JNIの文字列長

    JAVAからJNIを使用し、Cを起動しているのですが、 10000バイト以上の文字列をJAVAに返却しようとすると10000バイトより先が文字化けしてしまいます。 Cから直接起動した場合は10000バイト以上でも処理できます。 JAVAのインターフェースは以下のようになっています。 lRet = analyzeKBN( lCountin, sWORDin, lCountout,); lCountin : int型 入力文字数 sWORDin :String型 入力文字列 lCountout : int型 出力文字数 sWORDout : String型 出力文字列 Cの中を見渡しても10000文字の制限はありまません。 cの作業領域はlCountin を元にmallocしています。 出力文字列が10000バイト以上になるときっちり10000バイト以上が文字化けして帰ってくるのですが、JNIの制限等あるのでしょうか? 宜しくお願いします。

  • エクセルの文字列・数値【長文です】

    昨日、LEFT関数の使い方を教えていただきましたが、これですとLEFT関数を用いたところが【文字列】として認識されました。【数値】として認識させる方法を教えてください。 初心者で申し訳ございません。 昨日の質問・いただいた回答は以下の通りでした。 ≪質問≫ [123456/あいうえお/abc][234567/かきくけこ/efg]のようなデータがいくつかあって(例えばA列に)、B列に[123456][234567]、C列に[あいうえお][かきくけこ]、D列に[abc][efg]と表記できるような【関数】を教えてください。 ≪いただいた回答≫ A1にデータがあったとして。 B列 =LEFT(A1,SEARCH("/",A1,1)-1) C列 =LEFT(RIGHT(A1,LEN(A1)-SEARCH("/",A1,1)),SEARCH("/",RIGHT(A1,LEN(A1)-SEARCH("/",A1,1)),1)-1) D列 =RIGHT(RIGHT(A1,LEN(A1)-SEARCH("/",A1,1)),LEN(RIGHT(A1,LEN(A1)-SEARCH("/",A1,1)))-SEARCH("/",RIGHT(A1,LEN(A1)-SEARCH("/",A1,1))))

  • 文字関数について

    文字関数を使い 「やまだたろう」を逆の「うろただまや」に置き換える方法を教えてください。 LEN関数を使えばできるでしょうか?

  • 全て英語大文字の文章で先頭だけを大文字に

    お世話になります。 EXCELで全て英語大文字の文章で先頭だけを大文字、先頭以外を小文字に変換する方法を教えて下さい。 例)ABCDE/FGHIJKLM/NOPQ → Abcde/Fghijklm/Nopq このように/あるいはスペースなど、文字列間には何らかの区切りが有るものとし、それも選択出来るのが良いです。 このような文字列が何千行もあるので、セルに関数などを入れて、行数分ドラッグしてコピーするだけとか、セルで済むのが良いですが、無理ならマクロでも構いません。 セルでの関数などが複数セルに分かれても結構です。 例)A1~:該当文章、B1~:該当文章A1の置換1段階、C1~:該当文章A1の置換1段階、D1:置換完了文章 以上、宜しくお願い致します。  

eTaxと控除証明書
このQ&Aのポイント
  • eTaxでの申告において、控除証明書の提出の必要性について質問です。
  • 保険会社からネットで提供されるxmlファイルを利用すれば、eTaxの申告書に自動的に金額が入力される仕組みがありますが、手入力した場合でも提出不要なのか疑問です。
  • eTaxで申告すれば条件に適うのか、控除証明書の提出は必要なのか、という質問です。
回答を見る