ここから本文です

VBAの変数に格納できる文字数制限の解除方法を教えてください。

happiness871130さん

2013/6/414:50:24

VBAの変数に格納できる文字数制限の解除方法を教えてください。

プログラムを読み取って解析するツールを作成しているのですが、
文字数制限(256文字)があり、1文が256文字以上のコードがある時に解析できなくなってしまいます。

コードはLine Inputを使用して1行ずつ読み取ってString型変数Aに格納します。
変数Aの末尾に改行文字があればString型変数Bに変数Aを保持しておき、
もう1行読み取って変数Aに格納、そしてB+Aで文章を繋げます。
これを繰り返して1文を作成しています。
(Variant型変数は動作が重くなるため使用しないという社内ルールがあり、使えません)

この時、文章を繋げる際に変数Bが256文字を超えてしまうと、256文字目以降の部分が削除されてしまい、
プログラムの1文が途中で終わってしまいます。
これが起きないようにするには、どうすれば良いでしょうか?

急いでおり、また本気で困っておりますので、お礼は多めにご用意いたしました。
ご教授のほど、よろしくお願いいたします。

なお、コードはテキスト形式で、ワークシートなどは使用しておりません。

閲覧数:
21,867
回答数:
1
お礼:
250枚

違反報告

ベストアンサーに選ばれた回答

rio_koringoさん

編集あり2013/6/415:28:15

データ型 名称 消費メモリ 格納できる範囲
String 文字列型 2バイト 最大約20億文字まで
http://excelvba.pc-users.net/fol5/5_2.html

と言うような感じですけど、
コード的に何かあるのでしょうかね?

ExcelVBA:

Sub try()

Dim i As Integer
Dim st As String

For i = 1 To 1000
st = st & Right$(CStr(i), 1)
Next

MsgBox Len(st)

End Sub

ただAccessのフィールドの型がテキスト型とかなら
255文字の制限はあるみたいだけど。。。

質問した人からのコメント

2013/6/4 18:06:15

ご回答、ありがとうございました。
ウォッチウィンドウで変数の内容を見たくて、値をメモ帳にコピペしたら途中までしかなくて…20億文字まで入れられるString型変数でも文字制限かかるかぁ……と思い質問させていただいたのですが、「ウォッチウィンドウ」という単語を使わない時点で完全に言葉足らずでした……
ウォッチウィンドウには256文字までしか表示されない仕様のようで、全然知らなかったです……
ご丁寧にありがとうございました。

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

5文字以上入力してください

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。