• ベストアンサー

VB6 複数行のテキストをリストへ出力

VB6 でTextBoxのMultiLineをTrueにして複数行にしてあります。 このテキストのデータをリストへ表示させたいのですが、方法が分かりません。 コマンドクリックイベントへ試しに List1.AddItem Text1.Lines(0) などやってみたのですがエラーしてしまします。 LinesはVB6では使用できないのでしょうか?? ご教授願います。

  • mmac
  • お礼率94% (64/68)

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

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

テキストを復帰改行で分割して配列を作り、各要素をリストに追加 して行きます。分割はSplit関数を使います。 Dim A, B A = Split(Text1.Text, vbNewLine) For Each B In A   List1.AddItem B Next

mmac
質問者

お礼

回答有難うございます。 なるほどSplit関数を使用してvbNewLineを境に分割するのですね。 vbCrLfを境にしてエラーしてしまい、Split関数は無理だと勘違いしていました。 仕方なくわざわざtxt保存してListに開いていました。 的確な回答を有難うございました。

関連するQ&A

  • 【C#】textBoxの指定行のデータを削除

    凄く基本的なことかもしれないのですが色々検索しても見つからなかったので質問させてください。 Visual C# 2010を使っています。 textBoxのMultiLineをtrueにして複数行書けるようにしています。 そこで、プログラム上で指定の行を削除したり書き換えたりする方法を知りたいです。 指定の行のデータを取得する方法はわかったのですが、応用できませんでした。 MessageBox.Show(textBox1.Lines[0].ToString()); で、1行目のデータをMessageBoxで表示できました。 なので、以下のように書けば削除できるかと思いましたがダメでした。 textBox1.Lines[0] = ""; もしくは textBox1.Lines[0].Remove(0); 目的は、以下のような複数行のデータがあった場合に指定の行を消すといったことです。 1234 5678 9012 で、例えば、2行目を消して 1234 9012 としたいです。 textBox1.Text = textBox1.Text.Replace(textBox1.Lines[0], ""); とやって置き換えることはできるのですが、同じデータがある場合に全て置き換わってしまうのと、改行が残ってしまうので微妙です。 よろしくお願いします。

  • テキストボックスの内容(複数行)をリストへ

    テキストボックスの内容(複数行)をリストボックスへ1行表示にするにはどうすれば良いのでしょうか? replaceにてvbcrlf(改行文字?)を置き換えしようとしても無理でした。 ご教授お願いします。

  • VB TextBox中のn行目を取り出したい

    VB2015, OS=W10x64 TextBoxに複数行が入っています。 その中からnを指定してn行目を取り出したいのです。 TextBox1.Text(n)としたら、1行目の文字列の最初からn番目が取り出せましたがn行目を取り出したいのです。 TextBox1でなくてもListboxとかListViewでも構いません。 宜しくお願い致します。

  • VB6のListの使い方

    VB6でListを使っています。 最初、Listに複数のデータが入っています。 何かデータを取得したら、、Listの該当するところのデータを変えていきたいのですが、できますか? Additemで項目の追加はしたことがありますが、変更の仕方が分かりません。 ただし、最初にあるデータはそのままで変わったところだけ変更していきたいです。

  • テキストボックスの表示方法

    こんばんは。 Windows形アプリケーションをVB2008(vb.net)で開発してます。 今回はテキストボックスについて教えていただきたいと思います。 テキストファイルを読み込み、テキストボックスに表示させるプログラムがあります。 テキストファイルは1行の場合と複数行の場合があります。 従いまして、テキストボックスのMultilineをTrueにしてます。 ところがテキストファイルが1行のとき、自動的に行が折り返されて、 複数行あるかのように表示されます。 これをなんとか回避して、1行で表示できる方法はありますでしょうか? もちろん複数行の場合は、きちんと複数行を表示です。 可能でしょうか?

  • VB2010 テキスト書き出し位置

    VisualBasic初心者です。 VB2010でフォームでフォームから複数のTextBoxに入力したものを Buttonクリックイベントでテキストファイルに書き込みを行おうと思っています。 その際、テキストファイルへの書き込み位置を指定したいと思っています。 TextBox1の内容はテキストファイルの1文字目から10文字目 TextBox2の内容は11文字目から20文字目という感じにしたいです。 現在下記のプログラムです。 どなたかご教授ください。 Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button2.Click Dim write_data As New System.IO.StreamWriter("C:\test.txt", False, _ System.Text.Encoding.Default) write_data.Write(Textbox1.text) write_data.Close() End Sub

  • リッチテキストの折り返しを無効にしたい

    通常のテキストボックスでは幅よりも長い文字が入ると水平スクロールバーが表示されるのですが、複数行を許可したリッチテキストでは、幅よりも長い文字が入ると自動で折り返しが行われてしまいます。 MSDNで検索してもWordWrap属性はありませんでした。 何か簡単な事を見落としているだけだと思うのですが、どなたかご教授願えますようよろしくお願いします。 環境は Visual Basic 6.0 + Microsoft Rich Textbox Control 6.0 プロパティは rtf.MultiLine = True rtf.ScrollBars = 3(Both) を触るくらいしか思いつきませんでした。

  • [VBA]テキストボックスからエクセル反映(複数行)

    始めまして。初めて質問させて頂きます。至らない点があると思いますがよろしくお願い致します。 今テキストボックスよりエクセル(単一セル)に文字を入力するシートを作成しております。 テキストボックスで複数行入力(Enterで改行)の方法と複数行入力した文字をシート(1セル)に反映したいのですが良い方法をご存知でしたらご教授お願いします。 【やりたい事項】 テキストボックス内 (1)○は△です。(Enterで改行) (2)×は●です。 エクセルシート上(A1セルで) (1)○は△です。(ALT+Enter) (2)×は●です。 現状:MultiLineをTRUEにして右端まで文字入力すると2行目に入力可能 エクセルに反映すると「○は△です。×は●です。」と1セルで1行で表示となってます。 言葉足らずかもしれませんが、よろしくお願いします。

  • VB6.0でのTextboxの高さ変更

    VB6.0を使用しています。 下記のようにテキストボックスを動的配置した際にボックスの高さを変更したいのですが、文字の大きさ等に依存しているよう?で変更できません。 よく似た質問でMultiline をTrueにするような物があり、試してみましたがエラーとなってしまいます。 もう少し小さくしたいのですが何を変更・追加すればよいのでしょうか? どなたかご教授願います。 Private Sub Form_Load() Dim add_tbox As TextBox Set add_tbox = Controls.Add("VB.textbox", "text") With add_tbox .Text = "aaa" .Height = 240 '---テキストボックスの高さ .Left = 2270 .Top = 1700 .Width = 350 .FontSize = 9 '.MultiLine = False ---これを追加するとエラー"値の取得のみ可能なプロパティに値を設定する事はできません" .Visible = True End With MsgBox add_tbox.Height '---テキストボックスの高さ確認(270となっている) End Sub

  • 複数行表示されたリストボックスから最後の行だけ削除するには

    エクセルのユーザーフォーム上にあるリストボックスですが 必要に応じてボタンクリックでAddItemにより項目が追加されて行くリストボックスがあります この複数行表示された項目の内 別のボタンクリックで最後に追加された行だけ削除していくには どのように記述すればいいのでしょうか ------------- abcde fghij klmno pqrst ------------ と表示されていたリストボックスから クリックするたびに ------------- abcde fghij klmno ------------- ------------- abcde fghij ------------- の様に最後の行だけ削除をしたいのです 単純に ListBoX1.Clear では全て消されてしまい こまっています ぜひお力をお貸し下さい よろしくお願いします

専門家に質問してみよう