[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2007/06/25(Mon) 03:18
投稿者名:えぴ
Eメール:
URL :
タイトル:
マルチラインのテキストボックスに改行コードを表示させるには?
いつも利用させていただいてます。
(管理人様へ投稿の改行処理申し訳ございませんでした。修正しました。m(__)m)

テキストボックス(マルチライン有効・垂直スクロールバー有効)に、
改行付きで入力した値を変数に代入したときに、
改行コードが入るように出来るのでしょうか?
(どの様な改行コードでもいいです。改行されていることが分ればOKなので。)

ご存知の方、方法を教えて下ださい。よろしくお願いいたします。

投稿時間:2007/06/25(Mon) 07:10
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: マルチラインのテキストボックスに改行コードを表示させるには?
> いつも利用させていただいてます。
>
> テキストボックス(マルチライン有効・垂直スクロールバー有効)に改行付きで入力した値を変数に代入したときに、改行コードが入るように出来るのでしょうか?(どの様な改行コードでもいいです。改行されていることが分ればOKなので。)
>
> ご存知の方、方法を教えて下ださい。よろしくお願いいたします。

掲示板の投稿画面の所に下記のように書いてあったのですが理解できませんでしたか?

(※下記テキストボックスの範囲内(全角で42文字以内)で 【改行処理】 を必ずして下さい。)

上記の意味が理解できないなら....。

投稿時間:2007/06/25(Mon) 15:39
投稿者名:ダンボ
Eメール:
URL :
タイトル:
Re: マルチラインのテキストボックスに改行コードを表示させるには?
> テキストボックス(マルチライン有効・垂直スクロールバー有効)に、
> 改行付きで入力した値を変数に代入したときに、
> 改行コードが入るように出来るのでしょうか?
> (どの様な改行コードでもいいです。改行されていることが分ればOKなので。)

質問を5分くらい考えながら読み返しましたが、どうにも意図が分かりません。
・テキストボックスに入力するのは人間ですね?
・Enterキーを押しながら複数行を入力するのですよね?
・入力が終わったら、変数にText1.Textの値を代入するのですよね?

全部Yesならば、その変数の値の中には改行コード(vbCRLF)が含まれていますが。
(どうやって改行コードを取るかという質問なら意図は分かるんだが。。)

投稿時間:2007/06/25(Mon) 15:51
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: マルチラインのテキストボックスに改行コードを表示させるには?
こういう事では。

MsgBox UBound(Split(Text1.Text, vbCrLf)) & " 回、改行されています。"

投稿時間:2007/07/03(Tue) 20:33
投稿者名:えぴ
Eメール:
URL :
タイトル:
Re^2: マルチラインのテキストボックスに改行コードを表示させるには?
ダンボさん、花ちゃんさん、ご回答ありがとうございます。

私の言い回しが悪く、質問の意図がハッキリしない文章で、投稿してしまったことを
お詫びいたします。

もう少し違ったかたちで質問させていただきます。

テキストボックスのコントロール(プロパティの設定は前回と同じ)を配置して、
テキストボックスに下記の値を入力します。

今日は、
とても天気がよい。

上記値を変数(String)代入して、

dim Content as String
Content = Text1.Text
Open "c:\test.txt" For Output As #1
Write #1, Content
Close #1

のような簡単なコードで、テキストファイルとして
書き出してみたのですが、中身は、

"
今日は、
とても天気がよい。"

となっていまして、改行を表す文字(改行コードの様なもの)は、
書き出されていませんよね。
(変数に値が格納された状態で変数の中を覗いてみても、改行表す文字
(コード)はありませんでした。

以上を踏まえまして、ご質問したいのは、

"今日は、&vbCrLf& とても天気がよい。"

上記の様に改行された部分は、文字で表して、1行にする方法は
ないのでしょうか?
又、例では、適当に &vbCrLf& であらわしていますが、この部分は
当方としては、どんな文字でもかまわないものですが。

回りくどい文章になっていまい申し訳ないです・・・。

投稿時間:2007/07/03(Tue) 21:03
投稿者名:じぇふ
Eメール:
URL :
タイトル:
Re^3: マルチラインのテキストボックスに改行コードを表示させるには?
>
> "今日は、&vbCrLf& とても天気がよい。"
>
> 上記の様に改行された部分は、文字で表して、1行にする方法は
> ないのでしょうか?

横から失礼。
何をしたいかは既に頭にあるようで・・

改行文字(vbCrLf)を「どんな文字でもかまわず」ですから、
素直にReplace(Text1.Text, vbCrLf, 置き換える文字)にするだけでよいのでは?

投稿時間:2007/07/03(Tue) 21:04
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re^3: マルチラインのテキストボックスに改行コードを表示させるには?
> となっていまして、改行を表す文字(改行コードの様なもの)は、
> 書き出されていませんよね。

いや、書き出されているからこそ、複数行で表示されるわけで……。(^^;

出力したファイルを、バイナリエディタでチェックしてみてください。
改行文字に相当する、0A や 0D といった値が見えるかと思います。

> dim Content as String
> Content = Text1.Text
> Open "c:\test.txt" For Output As #1
> Write #1, Content
> Close #1
そのデータを、
 Dim Content As String
 Open "C:\test.txt" For Input As #1
 Input #1, Content
 Text2.Text = Content
 Close #1
で読めば、元のテキストが改行付きのまま読み込まれませんか?


> 上記の様に改行された部分は、文字で表して、1行にする方法は
> ないのでしょうか?
lineString = "[改行として置き換える文字列]"
newText = Replace(Content, vbCrLf, lineString)
とすれば、newText に「1 行にまとめた文字列」が入るかと。

投稿時間:2007/07/04(Wed) 21:48
投稿者名:えぴ
Eメール:
URL :
タイトル:
Re^4: マルチラインのテキストボックスに改行コードを表示させるには?
じぇふさん、魔界の仮面弁士さん、ご回答ありがとうございました。

Replace(Text1.Text, vbCrLf, "任意の改行を表す文字")

上記の関数が、まさしく求めていたものです。
本当にありがとうございました。

また、余談ですが求めている方法を、文章にあらわして、
質問すること自体、難しいことを学びました。

回答に携わっていただいた、
花ちゃんさん、ダンボさん、じぇふさん、魔界の仮面弁士さん
感謝いたします。

えぴ