VBを勉強し出して早1ヶ月…全然進歩が見られない私ですが、
ご存知の方の知識をお借りしたいのですが
テキストボックスに入力した文字をtxtファイルに保存して
今度そのtxtファイル内の文字をコンボボックスに表示する様にするには、
どの様なコーディングを書き込めば宜しいのでしょうか?
又、xlsファイルの列に入力している文字のみをコンボボックスに
表示する事は出来るのでしょうか?
この問題にぶち当たり早5日、思考錯誤?を繰り返しましたが、
もはやギブアップ状態
お詳しい方、笑いながら教えて頂けませんでしょうか(出来れば超簡単に…)
宜しくお願い致します。

A 回答 (2件)

笑!!


じゃ、以下のサンプルを参考にして下さい。

open app.path & "\" & "sample.txt" for output as #1
Write #1,text1.text
close #1

dim strTmp as string
open app.path & "\" & "sample.txt" for input as #1
do while not eof(1)
input #1,strTmp
combo1.AddItem strTmp
loop
close #1

なんていかが?
実際試してないからわかんないけど。(多分うごくよ。)
ただ、一度ファイルに書き出す必要がないのならもっとスマートなやり方あるかも。
    • good
    • 0
この回答へのお礼

早速の回答有難うございました。
試したらちゃんと動作しました
大変助かりました。

お礼日時:2001/06/11 17:08

Excelファイルの操作に関しては、過去ログ中の拙文の引用になりますが、以下のようにしてください。



Excelがインストールされている環境でのみ使える方法です。
「参照設定」で、「Microsoft Excel 9.0 Object Library」にチェックをつけて、以下のようにコーディングします。
Excelの各オブジェクトについては、ExcelのVBAのヘルプを参照してください。

Private Sub Command1_Click()
 Dim ExcelApp As New Excel.Application
 Dim ExcelSheet As Excel.Worksheet
 
 Dim CellData As Variant
 On Error Resume Next
 '開く
 ExcelApp.Workbooks.Open ("X:\XXX\Book1.xls")
 Set ExcelSheet = ExcelApp.Workbooks("Book1.xls").Worksheets("Sheet1")
 'エラーチェック
 If Err <> 0 Then
  MsgBox Err.Description
  Exit Sub
 End If
 'ワークシートからデータを取得して、コンボボックスに設定する
 With ExcelSheet
  CellData = .Range("C1") 'C1のセルを取得
  MsgBox CellData & "をリストに追加!"
  Combo1.Additem CellData
 End With
End Sub


****
上記の「セルを取得」を利用して、各セルの値を取得し、それをコンボボックスのAddItemメソッドを使って、値を設定してやればいいと思います。
不明点とかあったら、補足をお願いします。
    • good
    • 0
この回答へのお礼

おお、!これもすごい
少し手こずりましたが何とかなりました
本当に有難うございました。

お礼日時:2001/06/11 17:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qコンボボックスの文字入力について

コンボボックスに文字入力をさせないようにするにはどうすればいいか知ってる方、教えてください。

Aベストアンサー

お疲れ様です。

デザイン画面でコンボボックスを選択しプロパティウィンドの「Style」プロパティを「2 - ドロップダウンリスト」にすれば可能です。

間違っていたらごめんなさい。

Qコンボボックスの文字について

コンボボックスに書いた文字を編集できないようにするにはどうしたらいいのですか?
編集は出来ないけど選択だけ出来るようにしたいのです。

実行したら文字が選択されてかつ文字を消すことも出来ました。

これをただ選ぶだけにしたいです^^(青く反転しなないで^^)

Aベストアンサー

コンボボックスのプロパティにStyleが有り、下記の
違いがあります。
0 ドロップダウンコンボ --ボタンにより一時的にリストが表示される
1 標準コンボ------- 常にリストが表示される
2 ドロップダウンリスト --入力機能が無い, 機能的にはテキストボックスと似ている
この「2」を設定すると良いです。
http://www4.plala.or.jp/tamo/vb/vb10.html
に、その他も含めて説明があります。ご覧下さい。

Qコンボボックスに貼り付け文字を禁止する方法

フォームのコンボボックスに半角英数字以外の入力を禁止したいのです。
ですが、「Ctlr+V」もしくは右クリックの「貼り付け」を行うと全角文字も貼り付け可能です。
コンボボックスのプロパティは以下のようにしています。
Styleプロパティ「0-ドロップダウンコンボ」
IMEModeプロパティ「3-オフ固定」

どなたかご教授お願いします。

Aベストアンサー

.NET? or VB?
CHANGEだけでは実現困難です。

例えば、範囲選択されているとき貼り付けを実行されたら、その前の状態を覚えておかなければなりません。
キーボードだけからくるとも限らないので、ウィンドウズイベントのWM_PASTEを認識して、クリップボードの値を判定する必要があります。

Qリストボックスの内容をコンボボックスに

自動でリストボックスの内容をコンボボックスに表示させたいのですがどうすればよいのでしょうか?

環境は.netです。

Aベストアンサー

Combobox.Items.Add(ListBox.Items.Item(0))

をループさせるなりで。

Qコンボボックスとテキストボックスをセルへ

コンボボックスのデータを行へ表示されるよう下記の通りやりました。
続けてテキストボックスを指定した同じ行のセルへ入力されるように
したいのですが、いろいろ調べたのですが、解決できず
ここで助言いただけたらと思います。
また
textbox1はA列
textbox2はB列
textbox3はM列
へとコンボボックスのデータを挟む形での入力となります。
ちなみにテキストボックスのプロジェクト名は変更してあります。

Private Sub CommandButton1_Click()
Dim lrow As Long, i As Long
With Worksheets("製品化")
lrow = .Range("F" & Rows.Count).End(xlUp).Row
For i = 0 To 6
   .Cells(lrow + 1, i + 6).Value = itemname.List(listno, i)
Next i
End With
End Sub

コンボボックスのデータを行へ表示されるよう下記の通りやりました。
続けてテキストボックスを指定した同じ行のセルへ入力されるように
したいのですが、いろいろ調べたのですが、解決できず
ここで助言いただけたらと思います。
また
textbox1はA列
textbox2はB列
textbox3はM列
へとコンボボックスのデータを挟む形での入力となります。
ちなみにテキストボックスのプロジェクト名は変更してあります。

Private Sub CommandButton1_Click()
Dim lrow As Long, i As Long
With Worksheets("製...続きを読む

Aベストアンサー

>Next i
.Cells(lrow + 1 , "A").Value = textbox1.text
.Cells(lrow + 1 , "B").Value = textbox2.text
.Cells(lrow + 1 , "M").Value = textbox3.text
>End With

と言う感じの事?


人気Q&Aランキング

おすすめ情報