- ベストアンサー
最近のVisual StudioでVB6の開発は可能ですか?
VBAの仕様経験はありますが、VBは素人です。 VB6で開発されたprogramを利用して、program開発するのですが、 現在のVisual Studio2007で、VB6を利用した開発はできますか? VB.netは空くまで.net仕様でしかできないのでしょうか? また、できるとしてもかなり複雑になりますか? 利用するDllがC++baseのものがあったら、 C++.net経由で使うのは容易いですか? VCの経験はありますが、 あまりいろいろな方法を覚えないといけないのは大変なので、 適切な方法があれば教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> VB6時代のものは一部DLL化されて ↑これがActiveX DLLで、実態はCOMクラスです。 COMクラスの参照は全くややこしくありません。VBAなどで参照設定するのと同じ感覚です。.NETではプロジェクトの設定に「参照」という項目があります。.NETのクラスやコンポーネントだけでなく、VB6.0で作成されたDLLを「COM参照」から追加することで利用できます。 #「同じ感覚」といっても経験がなければ分からないですね・・・。 要は「VB6.0で作ったDLLも.NETで使えます」ということです。
その他の回答 (2)
- うぃず(@Wizard_Zero)
- ベストアンサー率69% (344/495)
#1 Wizard_Zeroです。 少し質問を取り違えてしまった気がしたので追記。。。 VB.NET環境の中で、VB6.0時代に作ったコードを再利用したい、という主旨であれば「多少の変更は必要だが可能」と言えます。 基本的な部分では、データ型の型名が変わります。 Long → Integer Integer → Short Variant → Object など また、GUIアプリケーションの場合、コントロールがすべて.NETコンポーネントに置き換えられます。 これらの処理は、MSが提供するVBコードコンバータ(正式名は忘れた・・・)でそれなりに変換することができます。(細かい部分は手作業での修正が必要な場合もあるかと) 記事で読んだだけですが、印刷関係のコードは仕組みが大きく変わったのでほとんど手作業での移行になるようです。 VB6.0で作ったActiveX DLL(COMクラス)は、.NETのCOM参照の追加で利用することが出来ます。
- うぃず(@Wizard_Zero)
- ベストアンサー率69% (344/495)
Visual Studio 2007 という製品は知らないのですが、VB6とは、Visual Studio 6.0におけるVisual Basicのことを指します。Visual BasicはVersion 7(=VB.NET)で土台が「VBランタイム」から「.NET Framework」に変わったので、VB.NET以降でVB6.0時代のプログラムを作ることは出来ません。また、今後MSが元に戻すこともないでしょう。 C++云々というのは経験がないので回答は控えます。 ネイティブDLLのAPI関数ならVB/C#ともに呼び出し可能です。
お礼
ありがとうございます。 少し説明不足でした。 VB6時代のものは一部DLL化されて、内容が分からないです。 DLLを扱うsample code VB6で見ることができます。 このDLLがnetでないですね。 >VB6.0で作ったActiveX DLL(COMクラス)は、.NETのCOM参照の追加で利用することが出来ます。 すいません、そこまでややこしいことはできないです。