テキストファイルの読み込みとリストボックスへの反映

このQ&Aのポイント
  • VB2008を使用して、リストボックスに格納されたデータをテキストファイルに保存する方法について質問します。
  • 質問者は、リストボックス1(listbox1)とリストボックス2(listbox2)に格納された値をテキストファイルに保存しました。
  • 質問者は、保存した値を再度リストボックスに読み込みたいと考えていますが、具体的な方法を知りたいとしています。
回答を見る
  • ベストアンサー

テキストファイルの読み込みとリストボックスへの反映

VB初心者です。VB2008を使用しています。 2のリストボックス(listbox1,listbox2)があり、 listbox1には("1","2")、listbox2には("A","B")という値がはいっています。 このデータをテキストファイル(test.txt)に次のように保存します [listbox1] 1 2 [listbox2] A B ここまでは出来ました。 そこで質問です。 保存したこれらの値をそれぞれのリストボックスに読み込ませたいのですが、 どのようにすればよいでしょうか。 実行ファイルとテキストファイルは同じフォルダ(c:\testprogram)に入っています。 うまく伝えられませんがよろしくお願い致します。

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

  • ベストアンサー
  • kiki_s
  • ベストアンサー率59% (147/248)
回答No.1

>保存したこれらの値をそれぞれのリストボックスに読み込ませたいのですが、 >どのようにすればよいでしょうか。 2つのリストボックスのアイテムを1つのファイルとして保存しているのですね。 方法は多々ありますので、コードを書く前に、 メモ書きで構いませんので、どうしたいか(どうするか)の順番を書いてみるのが理解しやすいと思います。 もちろん、コードを書きながら考えてもOKですけど。 私が良く使う方法は、 取りあえず、全データを読み込む(配列を使用) 配列から必要なデータを抜き出してリストボックスに入れる という感じかな。 保存コードが出来たのですから、 読み出しのコードも出来るはずです。 [listbox1] 1 2 [listbox2] A B 保存したデータが上記の構成なら、 [listbox]の文字を比較または検索して、 どちらのリストボックスに代入するか判断する事になります。 まぁ、順番に記録されているのであれば、 [listbox2]でなければ[listbox1]に代入となります。 ただし、[listbox]の文字をリストボックスに代入しない様にする必要があります。 コードは書きませんので、勉強がてら悩んで見て下さい。 苦労した事は絶対忘れません。

Roman_088
質問者

お礼

ご回答ありがとうございます。 プログラミングをされる方はここで配列を使うのですね! 非常に有用なアドバイスをありがとうございます! これで達成できそうです、有難う御座いました!

関連するQ&A

  • リストボックス

    すいません以下の処理に困っております。 リストボックスで値を取得して他のリストボックスにその値を 出力したいのですがまったくできません。 <例> リストボックス1 a b c リストボックス2(上で選択した値を出力) a ちなみに構文は、 ------------------------------------------------------------ Private Sub btn選択_Click() ListBox2.Text = ListBox1.Text 'ListBox1.ListIndex + 1 & ": " & ListBox1.Text End Sub Private Sub CommandButton1_Click() End Sub Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean) btn選択_Click End Sub Private Sub ListBox2_DblClick(ByVal Cancel As MSForms.ReturnBoolean) btn選択_Click End Sub Private Sub UserForm_Initialize() With ListBox1 .AddItem "スケジューラ" .AddItem "データ変換" .AddItem "DWH Server" .AddItem "PPP Server" .AddItem "ファイヤーウォール" .AddItem "暗号オプション" End With End Sub ---------------------------------------------------- 初心者でまったくできません。 御教授をお願いします。

  • リストボックスの内容を テキストファイルに出力

    エクセル vba初心者です。 (1)ini fileからデータを取得 (2)その内容のリストボックスに表示 (3)リストボックス内容をテキストボックスに出力 (2)、(3)がわかりません。 なんとなくやってたら余計にわからなくなりました。助けてください。 Private Sub CommandButton1_Click() '読込み(1)を押した時の処理 Dim listbox As String Dim strL_Data As String '取得した値 Dim n As Integer n = FreeFile    ListBox1.Clear   Open "C:\filepath.ini" For Input As #n Do While Not EOF(n) Line Input #n, listbox ListBox1.AddItem listbox Loop Close #n End Sub Private Sub CommandButton2_Click() '書込み(1)を押した時の処理  Dim listbox As String Dim strL_Data As String '取得した値 Dim n As Integer n = FreeFile    Open "c:\example.txt" For Output As #n Print #n, strL_Data Close #n End Sub よろしくお願いいたします。

  • テキストファイルの読み込み

    http://www.ajaxtower.jp/ini/html/index1.htmlにあるサンプルで xmlHttp.open("GET", "http://www.ajaxtower.jp/sample/readfile.txt", true); の、ファイルの場所を変えたいのですが、とりあえず、同じフォルダ内のテキストファイルtest.txtにアクセスしようと、"./test.txt"に変えて、クリックしても何も表示されませんでした。 apacheを起動してhtdocsにtest.txtを入れて"files://localhost/test.txt"に入れてもダメでした。 xmlHttp.openが読めるtextファイルは、どういう状態である必要があるのでしょうか?

  • vb2010でテキストファイルの1行置きの読み込み

    VB2010です。 フォームにリストボックスとコマンドボタンがあります。 コマンドボタンをおしたら”C:\test.txt”の内容を2行目から一行おきにリストボックスに 表示させたいのですが、どのようなコードを書いたらよいのでしょうか? test.txt内容 aaa あいうえお 123 かきくけこ 456 さしすせそ 789 リストボックスには あいうえお かきくけこ さしすせそ と表示させたいです。

  • リストボックスの保存

    ■VB6.0 リストボックスの全ての項目をテキストファイルに保存する方法を教えて下さい。 色々試してみたのですが出来ませんでした;; よろしくお願い致します。

  • フォームのリストボックスに値を表示させたい

    VBA フォームのリストボックスに値を表示させたい A1→aaa A2→bbb リストボックスに上記の値を表示させたいなら、 Private Sub UserForm_Initialize() UserForm1.ListBox1.RowSource = "Sheet1!A1:A2" End Sub で出来ますが、シート上のセルで表示する値を指定するのではなく、VBA上で、リストボックスに表示させる値を指定したいのです。 Private Sub UserForm_Initialize() UserForm1.ListBox1.RowSource = "aaa,bbb" End Sub を実行すると、VBA実行時エラー380になってしまいます。 UserForm1.ListBox1.RowSource = "aaa;bbb" もダメでした。 ご回答よろしくお願いします。

  • テキストファイルを一つにまとめる

    一つののフォルダ内に複数のテキストファイルがあります a.txt b.txt c.txt があり内容はそれぞれ 日付 商品名 数量と同一項目にしてあります これを同じフォルダに自動で一つのファイルにまとめる方法はありませんか 超初心者です よろしくお願いします

  • テキストボックスのname

    超初心者です。 VBスクリプトなんですが、すいません、質問させてください 。 テキストボックスに入力した値をFORM POSTで違うASPファイルに送りたいのですが テキストボックスのnameを配列にすることは可能でしょうか? 現在それで困っていまして、ここの力をお借りしたく存じます。 Dim A(i)  Dim B Response.Write "<INPUT type=""text"" name=""" & A(i) & """>" B = Request.Form(A(i)) のようにしてもBに値が入ってこず 「関数の入力として文字列が必要です」 というエラーがでてしまいます。 色々調べてみましたがいまいちわかりません。 どなたかご教授よろしくお願いします

  • シート上のリストボックスに値を表示するには?

    エクセル2003です。 コントロールツールボックスからシートにリストボックスを設置しました。 ここに値を指定するにはどうすればいいでしょうか? フォーム上のリストボックスなら Private Sub UserForm_Initialize() UserForm1.ListBox1.RowSource = "Sheet1!a2:a3" End Sub とすればいいのですが シートのイベントにInitializeはありません。 どこのイベントプロシージャーに 「リストボックスに値を表示する」というコードを書けばいいのでしょうか? シートモジュールにに Private Sub ListBox1_Click() UserForm1.ListBox1.RowSource = "Sheet1!a2:a3" End Sub としても何も起こりません。 できればファイルを開いた時からリストボックスに値を表示させるようにしたいです。 ご教授よろしくお願い致します。

  • VBA・リストボックスの内容をセルに反映

     ListBox1からListBox2に追加した項目を、コマンドボタンを押すと、Sheet3のA1から下に並べていくようにしたいのですが、どうもうまくいきません。 リストボックスのプロパティにLinkedCellというのがあるらしいのですが、使っているバージョンには無いみたいです。 もう何日も頭をひねっているのですが、初心者なのでわかりやすく教えて頂けませんでしょうか?よろしくお願いします。

専門家に質問してみよう