トップ回答者
VB6からVB2010へのアップグレードについて

質問
回答
-
できますが、完璧ではなさそうです。
とりあえずツールでソースを変換して、
個別に問題にあたることになるかと思います。
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向けに移行ツールを提供
完全に変換できるとは限らない -
補足です。
残念ながらわたしも英語ダメなんですが
恐る恐る「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/ -
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
すべての返信
-
できますが、完璧ではなさそうです。
とりあえずツールでソースを変換して、
個別に問題にあたることになるかと思います。
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向けに移行ツールを提供
完全に変換できるとは限らない -
補足です。
残念ながらわたしも英語ダメなんですが
恐る恐る「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/ -
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
-
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にアップグレードします。
- 回答の候補に設定 AzuleanMVP, Moderator 2010年8月4日 13:18
-
遅ればせながら・・・。
昔々、仕事上のプログラムをVB6からVB.NET(2003)に移植した事があります。
確かに、自動的にコードを変換してくれるウィザードが起動して変換してくれるのですが、そのままだと山のようなワーニングの嵐でした。一応コード中にウィザードがコメントを残してくれるのですが、これがまた英語で・・これを読解するのもかなりかかりましたねぇ。割と力技で作ってあった解析業務用アプリケーションだったので、コード量もかなりものので・・・。
概念が.netになってから異なるところも多く、一から作る直すくらいの工数がかかったのは事実です。プログラムのコード量や、記述の仕方で随分変わってくるとは思いますが。
当時参考にした本がありましたが・・。名前は失念しましたが、VB6ユーザのためのVB.NET入門みたいな名前だったかと。でもまぁ、.net用にコードをちまちま書き換えていったのが、かなり勉強になった記憶があります。気付いた点をノートに書き記していったのですが、そのノート4~5冊位あったのでは・・。最終的にはルーズリーフ化してとってありますが・・・。
最近、VB2010Essentialをインストして個人的にまた使い始めましたが、初代VB.NETからすると、PCのパワーもディスプレイサイズも大きくなったせいか非常に快適ですね。
参考には余りならなかったと思いますが、自動変換が使えるにしろ使えないにしろ、プロシジャ毎に動作を確認しながら変換していくという作業は変わらないので、思い切ってソースをコピペして、出てきたエラーを一つ一つつぶしながら動作を確認していっても手間は大きく変わらない様な気がします。
個人的にはVB6はある意味一種の集大成で、VBAとの互換性は非常に高いのですが、VB.NET以降の製品は似て非なる別世代の言語という感じがします。頭の中から染めなおす必要があるかと思いますが、C#なんかにも移行しやすいし、これを機にゴソゴソやってみるのもスキルアップになるかと・・・。
長文の書き込み失礼しました。m(_ _)m