• 締切済み

VBでの変数使用

VB初心者ですが、よろしくお願いします。 VBAにて行っていた以下の内容をVBにて行いたいのですが上手くいかずに行き詰ってしましました。 ネットで色々と検索したのですが、適切なサンプルが無く。。。 ご指南の程、よろしくお願いします。 Private Sub 追加() i = 3 Me.Controls("Combo" & CStr(i)).AddItem "選択" End Sub

みんなの回答

  • OMEGAT
  • ベストアンサー率70% (455/642)
回答No.3

該当フォームのForm_Loadあたりでされているのでしょうか? 「フォームの作成中にエラーが発生しました。詳細については、Exception.InnerException を参照してください。エラー: オブジェクト参照がオブジェクト インスタンスに設定されていません。」 このエラーはどの行で出ているのでしょうか? CType(Me.Controls("comboBox" & CStr(i)), ComboBox).Items.Add("選択") の行であれば、やはりコントロールが存在していないように思いますので、この行をコメントアウトして実行してみるとどうなりますか。

  • OMEGAT
  • ベストアンサー率70% (455/642)
回答No.2

指定した名前のコントロールは存在していますか? i = 3 CType(Me.Controls("comboBox" & CStr(i)), ComboBox).Items.Add("選択") この場合、comboBox3という名前のコントロールが必要です。 i = 3 CType(Me.Controls("Combo" & CStr(i)), ComboBox).Items.Add("選択") と書けば、Combo3という名前のコントロールが必要です。

kanican3kg
質問者

お礼

早々のご回答ありがとうございました。 ご指摘頂いた点は問題ないです。 また、以下のメッセージが書かれたウィンドウも立ち上がってます。 フォームの作成中にエラーが発生しました。詳細については、Exception.InnerException を参照してください。エラー: オブジェクト参照がオブジェクト インスタンスに設定されていません。 ご指南頂ければ幸いです。

  • OMEGAT
  • ベストアンサー率70% (455/642)
回答No.1

VB6ならそのまま動きそうですが、VB.NETであれば CType(Me.Controls("comboBox" & CStr(i)), ComboBox).Items.Add("選択") のようにコントロールをコンボボックスに型変換し、Items.Addすれば動くと思います。

kanican3kg
質問者

お礼

ご回答ありがとうございました。 文法でのエラーは出なかったのですが、実行時にエラーが出てしまいました。 イミデントウィンドウに以下のメッセージが出ております。 'System.NullReferenceException' の初回例外が Master Win.exe で発生しました。 原因分かられますか?