none
VB6からVB2010へのアップグレードについて RRS feed

  • 質問

  • VB6からVB2010へのアップグレードはできないのでしょうか。

    できるのであれば、方法を教えていただいたら助かります。

    よろしくお願い致します。

    2010年6月8日 5:44

回答

  • できますが、完璧ではなさそうです。
    とりあえずツールでソースを変換して、
    個別に問題にあたることになるかと思います。

    VB 6.0 ユーザーのための VB .NET 移行ガイド
    http://msdn.microsoft.com/ja-jp/library/dd297684.aspx

    http://itpro.nikkeibp.co.jp/members/NOS/TROUBLE/20010928/1/
    VB 6.0向けに移行ツールを提供
    完全に変換できるとは限らない
    • 回答の候補に設定 山本春海 2010年6月10日 8:10
    • 回答としてマーク 山本春海 2010年6月14日 5:21
    2010年6月8日 6:06
  • ああ、なるほど…

    であれば、いったんVB6→VB2005 してから
    VB2010→VB2010 でいける気がします。

    VB2005→VB2010 については
    VB2005 のソリューションまたはプロジェクトを
    そのまま開けばOKだと思います。

    このとき、プログラムソースは全く変わらず
    ソリューションやプロジェクトなどの内容を記述したファイルが
    VB2010用に変わるだけな気がします。

    で、なにかワーニングでもあったら個別対応です。

    • 回答としてマーク 山本春海 2010年6月14日 5:21
    2010年6月8日 7:24
  • 補足です。

    残念ながらわたしも英語ダメなんですが
    恐る恐る「Visual Basic 6.0 Resource Center」を見てみました。
    「Visual Studio 2008 Express Edition エディション」などの無料ツールを使って
    変換ができるというこが書いてあるようです。
    ということで、もし現在 VS2005 や VS2008 が無いのであれば
    「Visual Studio 2008 Express Edition エディション」を使って変換する選択肢もありそうです。

    なお、「Visual Basic 6.0 Resource Center」の VS2008ダウンロードのリンク先は VS2010 になっていたので
    別のページからダウンロードする必要があります。

    Visual Studio 2008 Express Edition with Service Pack 1 のダウンロード
    http://www.microsoft.com/japan/msdn/vstudio/2008/product/express/

    • 回答の候補に設定 山本春海 2010年6月10日 8:10
    • 回答としてマーク 山本春海 2010年6月14日 5:21
    2010年6月8日 7:50
  • anningo 様

    実は数年前にVB6からVB2005への移行をと考えましたが、アップグレードはあまり役に立ちませんでした。ひょとしたら、2005→2008→2010となり進化しているかもと期待した次第です。ありがとうございました。

    なお、VB6からVB2005への際、グラフ描画のためTwip単位の印刷が必要でしたが、当時私の力では不可能でした。その後Microsoft Visual Basic Power Packs3.0 なるものを知り、昨日Twip単位の印刷が可能となりました。

    http://www.atmarkit.co.jp/fdotnet/vblab/vbwizard_04/vbwizard_04_03.html
    http://oitec.vbstation.net/modules/mydownloads/singlefile.php?cid=1&lid=2
    http://www.atmarkit.co.jp/fdotnet/dotnettips/781winlineshape/winlineshape.html

    なお、 .ScaleMode = vbMillimeters はTips印刷に該当するパラメータがなく無効にしなければならないようです。私と同じお悩みの方はどうぞ。

    anningo 様 どうもありがとうございました。

    • 回答としてマーク 山本春海 2010年6月14日 5:21
    2010年6月8日 23:56

すべての返信

  • できますが、完璧ではなさそうです。
    とりあえずツールでソースを変換して、
    個別に問題にあたることになるかと思います。

    VB 6.0 ユーザーのための VB .NET 移行ガイド
    http://msdn.microsoft.com/ja-jp/library/dd297684.aspx

    http://itpro.nikkeibp.co.jp/members/NOS/TROUBLE/20010928/1/
    VB 6.0向けに移行ツールを提供
    完全に変換できるとは限らない
    • 回答の候補に設定 山本春海 2010年6月10日 8:10
    • 回答としてマーク 山本春海 2010年6月14日 5:21
    2010年6月8日 6:06
  • anningo 様

    ありがとうございました。VB2005ではお教えいただいた方法で、できたのですが、

    VB2010ではその方法はできないようです。 Visual Basic 6.0 Resource Center とやらで

    対応するのかとも思うのですが、英語で書かれており私には意味不明です。

    インターネットでアップグレードを色々調べてみたのですが、方法がわかりませんでした。

     

     

     

    2010年6月8日 7:00
  • ああ、なるほど…

    であれば、いったんVB6→VB2005 してから
    VB2010→VB2010 でいける気がします。

    VB2005→VB2010 については
    VB2005 のソリューションまたはプロジェクトを
    そのまま開けばOKだと思います。

    このとき、プログラムソースは全く変わらず
    ソリューションやプロジェクトなどの内容を記述したファイルが
    VB2010用に変わるだけな気がします。

    で、なにかワーニングでもあったら個別対応です。

    • 回答としてマーク 山本春海 2010年6月14日 5:21
    2010年6月8日 7:24
  • 補足です。

    残念ながらわたしも英語ダメなんですが
    恐る恐る「Visual Basic 6.0 Resource Center」を見てみました。
    「Visual Studio 2008 Express Edition エディション」などの無料ツールを使って
    変換ができるというこが書いてあるようです。
    ということで、もし現在 VS2005 や VS2008 が無いのであれば
    「Visual Studio 2008 Express Edition エディション」を使って変換する選択肢もありそうです。

    なお、「Visual Basic 6.0 Resource Center」の VS2008ダウンロードのリンク先は VS2010 になっていたので
    別のページからダウンロードする必要があります。

    Visual Studio 2008 Express Edition with Service Pack 1 のダウンロード
    http://www.microsoft.com/japan/msdn/vstudio/2008/product/express/

    • 回答の候補に設定 山本春海 2010年6月10日 8:10
    • 回答としてマーク 山本春海 2010年6月14日 5:21
    2010年6月8日 7:50
  • anningo 様

    実は数年前にVB6からVB2005への移行をと考えましたが、アップグレードはあまり役に立ちませんでした。ひょとしたら、2005→2008→2010となり進化しているかもと期待した次第です。ありがとうございました。

    なお、VB6からVB2005への際、グラフ描画のためTwip単位の印刷が必要でしたが、当時私の力では不可能でした。その後Microsoft Visual Basic Power Packs3.0 なるものを知り、昨日Twip単位の印刷が可能となりました。

    http://www.atmarkit.co.jp/fdotnet/vblab/vbwizard_04/vbwizard_04_03.html
    http://oitec.vbstation.net/modules/mydownloads/singlefile.php?cid=1&lid=2
    http://www.atmarkit.co.jp/fdotnet/dotnettips/781winlineshape/winlineshape.html

    なお、 .ScaleMode = vbMillimeters はTips印刷に該当するパラメータがなく無効にしなければならないようです。私と同じお悩みの方はどうぞ。

    anningo 様 どうもありがとうございました。

    • 回答としてマーク 山本春海 2010年6月14日 5:21
    2010年6月8日 23:56
  • VB2010移行より 同じ悩みをお持ちの方がいらしたら

    グラフ描画のためTwip単位の印刷は6/14日付のような事をわざわざしなくても、VB2008(Visual Basic 2008)のExpress Editionでは組み込み済みなようで、VB6からの印刷用コードがそのままアップグレードできました。

    http://msdn.microsoft.com/ja-jp/library/3e2c3t1z

    使いやすくなって感謝というより、マイクロソフトの開発者の方々は、この程度の対応が、.NETの最初から、なぜできなかったのでしょうかね。

    なお、VB2010ではVB6のアップグレードはできませんので、まずVB2008でアップグレードの後、VB2008のコードをVB2010にアップグレードします。

     

     

    2010年8月4日 0:05
  • 遅ればせながら・・・。

    昔々、仕事上のプログラムをVB6からVB.NET(2003)に移植した事があります。

    確かに、自動的にコードを変換してくれるウィザードが起動して変換してくれるのですが、そのままだと山のようなワーニングの嵐でした。一応コード中にウィザードがコメントを残してくれるのですが、これがまた英語で・・これを読解するのもかなりかかりましたねぇ。割と力技で作ってあった解析業務用アプリケーションだったので、コード量もかなりものので・・・。

    概念が.netになってから異なるところも多く、一から作る直すくらいの工数がかかったのは事実です。プログラムのコード量や、記述の仕方で随分変わってくるとは思いますが。

    当時参考にした本がありましたが・・。名前は失念しましたが、VB6ユーザのためのVB.NET入門みたいな名前だったかと。でもまぁ、.net用にコードをちまちま書き換えていったのが、かなり勉強になった記憶があります。気付いた点をノートに書き記していったのですが、そのノート4~5冊位あったのでは・・。最終的にはルーズリーフ化してとってありますが・・・。

    最近、VB2010Essentialをインストして個人的にまた使い始めましたが、初代VB.NETからすると、PCのパワーもディスプレイサイズも大きくなったせいか非常に快適ですね。

    参考には余りならなかったと思いますが、自動変換が使えるにしろ使えないにしろ、プロシジャ毎に動作を確認しながら変換していくという作業は変わらないので、思い切ってソースをコピペして、出てきたエラーを一つ一つつぶしながら動作を確認していっても手間は大きく変わらない様な気がします。

    個人的にはVB6はある意味一種の集大成で、VBAとの互換性は非常に高いのですが、VB.NET以降の製品は似て非なる別世代の言語という感じがします。頭の中から染めなおす必要があるかと思いますが、C#なんかにも移行しやすいし、これを機にゴソゴソやってみるのもスキルアップになるかと・・・。

    長文の書き込み失礼しました。m(_ _)m

    2010年10月6日 15:49