
長いこと、VB6で開発をしてきました。このプログラムはハードはRS-232Cを使い入力したデーターをグラフや表で表示したりするものです。VB6を何も不足もなく使って来ましたが、時代に取り残されないように、VisualStudio2012 Professional with MSDN(以下VS2012と略す)を購入しました。ところがプロジェクトファイルの拡張子が違うので読み込めないのです。拡張子が違うことは内容も違うことが考えられます。VB6 ->VS2012 変換をする方法をご教授ください。VS2010に変換する方法で結構ですので皆様、教えて下さい。
ツールボックスからボタンや何やら、最初から同じ名前で作り、ベーシックのソースだけコピーすれば出来るのではと、一度は試しましたが、例として UnLoad xxx 等の重要な関数が付いていないようでコンパイルできないのです。 この方法で、解決された方がおりましたら、回答、お願いいたします。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
Microsoft の VB マイグレーションセンター
http://www.microsoft.com/ja-jp/dev/vbrun/default …
既出の通り Visual Studio 2010/2012 には VB 6.0 で作成したソースコードを .NET Framework 向けに変換するツールが搭載されなくなったので、上記記事では Visual Studio 2008 Express Edition を使ってみれば? ということが書いてある。
今更 VB 2008 Express Edition が入手可能なのかわからないが、上記ページの下の方にある [移行ツールの提供] の中の 「注意) Visual Studio 2010 で Visual Basic 6.0 からアップグレードするには」 のリンクを開く。
(リンク先)
http://msdn.microsoft.com/ja-jp/library/bszew91f …
開いた先の MSDN ライブラリのページには 「1. Visual Basic 2008 Express Edition を開きます。これは、Microsoft Visual Studio Express Editions の Web サイトから無償でダウンロードできます。」 とあり、リンクになっている。
(リンク先)
http://go.microsoft.com/fwlink/?LinkId=139164
http://www.microsoft.com/ja-jp/dev/express/defau …
残念ながらリンク先のページは Visual Studio 2010 Express Edition に差し替わっている。
しかしながら、そのページの一番下に小さく 「過去のバージョン」 というリンクがあり、PDF ファイルへのリンクになっている。
(リンク先)
vstudio_2008_product_express_default.pdf
PDF をダウンロードして開いてみると、Visual Studio 2008 Express Edition 時代のページ内容が再現されている。
Visual Basic 2008 Express Edition のバナーの下に 「Web インストール(ダウンロード)」というリンクがあり、クリックすると vssetup.exe がダウンロードできるようになっている。
この vssetup.exe が VB 2008 Express Edition の物かどうかは試していないが、試してみる価値はあると思う。
というのが一応の回答だが、悪いことは言わないから VB 6.0 の時のドキュメントやソースが残っているなら、Visual Studio 2012 で設計しなおしてゼロから作り直すことをお勧めする。
VB 6.0 のコードをツールで変換しても VB.NET 特有の機能で無理やり機能させるコードが生成されるばかりで、.NET 向けに開発されたコードとは言えないものが出来上がる。
.NET Framework 向けのコードを知れば知るほど、ツールで自動変換されたコードの無茶苦茶さ加減がわかってしまい、いつかどこかでゼロから作り直したくなると思う。
御指導ありがとうございました。今回も、VB6で逃げ切り、次回のプロジェクトからVS2012を採用することにします。そう言いながらVB6を使い続けることになってます。VS2012の良さが分からないのですが、現状ではVB6でも十分間に合っています。
ありがとうございました。
No.3
- 回答日時:
>そもそも、アップグレードウィザード自体、VS2012やVS2010では削除されています。
とのことですので…やっぱり作り直しですね。
VS2008を入手してアップグレードウィザードで変換して、
さらにVS2012に……なんて手もあるかも知れませんが、まずまともに動作しないでしょうから……変換を数回噛ませる意味もなさそうですな。
ダメ元で……試行してみるのは自由ですが。
# 「with MSDN」ならVS2008もDLでき…ますかね??
No.2
- 回答日時:
最近のVBは、.NET Frameworkを使用する言語に変更になっています。
下位互換性がかなり失われていますので、アップグレードウィザードを使用したり、関数単位でソースをコピーしても、まともに動きません。1から作り直しと考えた方がいいです。
そもそも、アップグレードウィザード自体、VS2012やVS2010では削除されています。
No.1
- 回答日時:
>ところがプロジェクトファイルの拡張子が違うので読み込めないのです。
ちゃんと動くかはかなり怪しいですが……
そのままダブルクリックで開こうとしたらVS2012での変換ウィザードとか開きませんか?
# 変換できても動かない可能性が高い…ですけどねぇ。
# VB6のコードをVB.Netに合うように手直しが必要…でしょう。(規模によっては作り直した方が…なんて事にも…)
VS2012になって、いろいろ変わっている可能性もあるので変換出来ませんかねぇ……。
# VS2005かVS2008なら変換自体は出来たんではないかと。やっぱり手直しは必要でしょうけどね。
プロジェクトファイルの拡張子はVB6=*.VBP、 VS2012=*.vbpproj です。 *.vbpprojをダブルクリックしても "このファイルを開けません ~ ~ 動作を選択して下さい。" と表示されるだけで一切の動作はしません。
ソースをコピーしても、重要な関数名が変わっているので不可能と思われるので、まだVB6のお世話になります。 14万円も出したVS2012 with MSDN は当分、倉庫に入れておきます。
回答を頂きました皆様、心からお礼を申し上げます。今後 VS2012に路線を切り替えようとしている皆様の参考になれば、幸いです。 もし製造元の技術の方が読んでおられたら、解決策、御指導下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
家電製品の電力周波数を変える機械
-
FortranをC++(VC++)へ変換
-
逆コンパイルと逆アセンブルの...
-
.sb3のファイルを.sb2に変換す...
-
VB6で16進のXOR演算
-
VB 6 を VS 2012に変換するには?
-
シーケンサのCPUはニーモニック...
-
UTF8→ShiftJISに変換したいです!
-
ASP.NET SJIS→UTF-8文字コード...
-
C#でのpngからbmpへの変換について
-
10進数をBCDに変換する方法
-
アセンブラ言語の数字を数値に...
-
HRESULTの代替となる型
-
N88BASICのバイナリデータをテ...
-
緯度、経度の 10進法と 60進法...
-
gmtime()とlocaltime()は
-
Macターミナルで実行中のプログ...
-
powershell を使いカレントディ...
-
TCP/IP通信時のサーバーからの受信
-
Windows上で、シグナル(SIGTERM...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
家電製品の電力周波数を変える機械
-
逆コンパイルと逆アセンブルの...
-
エクセルVBAの自動変換機能?
-
10進数をBCDに変換する方法
-
VB6からVB2010への変換について
-
緯度、経度の 10進法と 60進法...
-
分を時間に変換するプログラム
-
C#で漢字→ローマ字を変換
-
なぜ通信には16進数文字列が使...
-
vb.netの型変換について
-
正規表現でルビを小書きに変換...
-
マンセル⇔XYZ,RGB変換式或いは...
-
C#で漢数字をアラビア数字に変...
-
VB6から.NETへアップグレード時...
-
php
-
VB 6 を VS 2012に変換するには?
-
3のつく数字と3の倍数のみを表...
-
C++からCへのソース変換について
-
エクセルのvbaで検索ボタンを作る
-
tex 郵便記号のだしかた
おすすめ情報