
エクセル 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
よろしくお願いいたします。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
ANo.1です。
あー…ANo.2氏のを見て気が付いたのですが、
「出力は選択された1行」という可能性もありますな…
その場合は、私が書いた「ループが必要」云々は忘れてください。
(何にせよ、結局出力したいのはどういうデータなのかという説明は
欲しいですが)
No.3
- 回答日時:
6.0系列か、.NETの質問なのか書かないと最近は正確な解答にならないと思う。
6.0系列と推定してーー
前半は質問のコードを見ずに同じようなコードでうまく行きました。
テキストファイルからリストボックスにアイテムを表示
私の場合aaa6.txtの場合
Private Sub CommandButton2_Click()
Dim strL_Data As String '取得した値
Dim n As Integer
n = FreeFile
ListBox1.Clear
Open "C:\Documents and Settings\XXXX\My Documents\aaa6.txt" For Input As #n
Do While Not EOF(n)
Line Input #n, strL_Data
MsgBox strL_Data
ListBox1.AddItem strL_Data
Loop
Close #n
End Sub
ーー
>書込み(1)を押した時の処理
は質問をするものにとっては独りよがりでないですか。
何をするのか。
第1データを読んでPrint(シーケンシャルファイル書き込みに)しているが
>リストボックス内容をテキストボックスに出力
では同じようなロジックになると思うが。
ーー
元のファイルから直接やるなら
Private Sub CommandButton3_Click()
Dim strL_Data As String '取得した値
Dim n As Integer
n = FreeFile
ListBox1.Clear
Open "C:\Documents and Settings\XXXX\My Documents\aaa6.txt" For Input As #n
Do While Not EOF(n)
Line Input #n, strL_Data
MsgBox strL_Data
s = s & strL_Data & vbCrLf
Loop
TextBox1.MultiLine = True
TextBox1.Text = s
Close #n
End Sub
ーー
リストボックスからやる理由は何なのかな。
下記はVBAでやっているが、参考にして、Formなどの例に書き換えてください。
Sub test01()
Worksheets("Sheet1").TextBox1.Text = ""
n = Worksheets("Sheet1").ListBox1.ListCount
'Worksheets("Sheet1").ListBox1.Clear
For i = 0 To n - 1
MsgBox Worksheets("Sheet1").ListBox1.List(i)
s = s & Worksheets("Sheet1").ListBox1.List(i) & vbCrLf
Next i
Worksheets("Sheet1").TextBox1.MultiLine = True
Worksheets("Sheet1").TextBox1.Text = s
End Sub
No.2
- 回答日時:
ListBoxのClickイベントを処理して TextBoxへデータを設定しましょう
Private Sub ListyBox1_Click()
TextBox1.Text = ListBox1.List( ListBox1.ListIndex)
End Sub
出力に関しては
Private Sub CommandButton2_Click() '書込み(1)を押した時の処理
Dim strL_Data As String '取得した値
Dim n As Integer
n = FreeFile
' テキストボックスにデータがセットされているなら出力
if TextBox1.Text<>"" then
strL_Data = TextBox1.Text
Open "c:\example.txt" For Output As #n
Print #n, strL_Data
Close #n
End if
End Sub
といった具合でしょう
No.1
- 回答日時:
まず
>(2)その内容のリストボックスに表示
なんですが、何が不明なんでしょう?
一応、Ini(つーかテキスト)の中身は出力されますよね?
単純に中身を出力するのではダメなのであれば、
その詳細を再度説明してください。
>(3)リストボックス内容をテキストボックスに出力
については…
>Private Sub CommandButton2_Click()
の中の処理で、そもそもListBox1を参照してないじゃないですか。
Printで使用しているstrL_Dataにデータを代入している箇所も無いし。
まずは、ちゃんとListBoxの中身を参照する術を調査して、
その中身をstrL_Dataに反映してください。
調べていけば気付くかもしれませんが、書き込む際にも
ループ処理は必要ですよ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
TV出力ポートをOFFにすれば良い...
-
5
携帯の液晶画像をパソコンに出...
-
6
2進数表現を16進数であらわす・...
-
7
[C++] 微分のプログラミングが...
-
8
プログラムについての質問です...
-
9
cout と cerrの違い
-
10
VBAで有効数字の設定
-
11
Mac版 Excel VBA PDF出力フォル...
-
12
標準出力の上書き
-
13
coutで出力した文字を消去する...
-
14
ACCESSからExcelへエクスポート...
-
15
PHPでローカルプリンタを使用す...
-
16
プログラム上からUSBやLANから...
-
17
makeで文字化けする。migwのmak...
-
18
コンセントの電力は入力と出力...
-
19
ACCESS フォームで選択したレコ...
-
20
PIC アセンブラ ポートB 内...
おすすめ情報
公式facebook
公式twitter