投稿者 るきお  (社会人) 投稿日時 2008/9/27 07:05:09
こんにちは。 

あまり一般的ではない要件だと思います。要件を再考することをおすすめしますが、技術的には以下のようにして可能です。 

   
Dim hyouji As String 
hyouji = Me.GetType.Namespace & "." & ComboBox1.Text 

Dim f As Form 
f = Activator.CreateInstanceFrom(Me.GetType.Assembly.Location, hyouji).Unwrap() 
f.Show()


ただし、制限がいくつかあります。呼び出しもとのフォームをForm1とすると、Form1と対象のフォームが同じ名前空間で同じプロジェクト上にある必要があります。 
(もっとも上述のプログラムを多少変えればこの制限もとりはらえます) 

>「showはstringのメンバではありません」と 
VBからみればComboBox1.TextはあくまでもString型なのでこのようになります。 

>VBAならこれで動くと思うのですが・・・・ 
そうでしたっけ?VBAでもVB6でもこの手法では無理なように記憶しています。他の手法でもかなり厳しいです。VB6では不可能といってもいいくらいです。 

>根本的に違うのでしょうか? 
VBAとVB2008は根本的に違う面もありますが、今回の質問の範囲内では根本的な違いはありません。