投稿者 るきお  (社会人) 投稿日時 2008/12/25 05:59:43
こんにちは。

VB6とVB2005は初心者の方には大分異なって感じられると思います。

VB6→VB2005,2008の逆引きはWebなどであるかもしれませんが、私は把握していません。
あってもあまり網羅することはできないのではないかと思っています。

ただし、VB2005, 2008にはVB6プログラマのための機能がいくつかあり、手助けになります。

1つはVB6コードのアップグレード機能です。
VB2005,2008でプログラム中にツールメニューの「Visual Basic 6.0 コードのアップグレード」をクリックすると小さな窓が出てきます。
ここにVB6のコードを入力して、「アップグレード」ボタンを押すとVB2005,2008に翻訳してくれます。


ただし、多少助けになる程度で翻訳できないケースも多々あります。
また、翻訳されたコードは後述する「互換ライブラリ」を使用するコードになる傾向があり、一般的なVB2005,2008プログラマが書くコードとは少し違ったものになることが多いです。

2つ目はVB6の互換ライブラリです。
VB6では使えたのに、VB2005,2008では使えなくなっているメソッド・関数がたくさんありますが、この互換ライブラリを使えば、VB2005,2008でもVB6のメソッド・関数が使用できます。
…といっても、少し名前や使い方が変わっていたりはするのですが・・・。
使用方法はMicrosoft.VisualBasic.Compatibility.dllに参照設定して、コードの先頭にImports Microsoft.VisualBasic.Compatibilityと書くだけです。
これで「VB6.」と入力するとVB6時代の関数やメソッドが使用できます。
たとえば、Format関数と日付を整形して表示することもできます。
※参照設定するには「プロジェクト」メニューの「参照の追加」です。

   
Imports Microsoft.VisualBasic.Compatibility

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles MyBase.Load

        MsgBox(VB6.Format(Now, "yyyy/mm/dd(dddd)"))

    End Sub
End Class



他にもVB6プロジェクトをまるごとVB2005,2008に変換する機能などもあります。

>1.日付の表示(年月日+曜日)
>VB6.0では lblDate.Caption=Format(Date,"yyyy/mm/dd(dddd)")
   
lblDate.Text = Now.ToString("yyyy/MM/dd(dddd)")

※ただし、曜日は実行する国ごとに異なる表示になります。国(≒文化)を指定する方法もありますがとりあえず割愛します。
参考:http://msdn.microsoft.com/ja-jp/library/8kb3ddd4.aspx


>2.フォントの変更(チェックボタンをチェックしたらフォントが変更される。If文使用)
>VB6.0では lblDate.Font.Bold=True でした。
   
lblDate.Font = New Font(lblDate.Font, FontStyle.Bold)


以上は一例です。

私としてはVB6歴が講習の3日くらいであるならば、いったん忘れてVB2005やVB2008の勉強をしたほうが早いと思います。
VB2005, 2008のVB6互換機能も主流からは外れる機能ですので、せっかく新しいバージョンに進出するのであれば一般的な方法を習得した方が応用が広がると思います。