VB6 FAQ

Visual Basicのサポート終了について

Visual Basicは、長年にわたりWindows向けの業務システム開発で使われてきた開発言語・開発環境です。

特にVisual Basic 6.0、いわゆるVB6で作られたシステムは、現在でも企業の販売管理、在庫管理、顧客管理、請求管理、帳票出力などで使われていることがあります。

一方で、「Visual Basicはすでにサポート終了しているのか」「VB6とVB.NETでは何が違うのか」「今動いているシステムはこのまま使えるのか」と疑問を持つ企業担当者も少なくありません。

Visual Basicのサポート終了を考えるときは、まず「Visual Basic」という言葉をひとまとめにしないことが重要です。

VB6の開発環境はすでにサポート終了しています。一方、VB.NETで作られたシステムは、使用しているVisual Studioのバージョン、.NET Framework、.NET、Windows OSなどによって確認すべき期限が変わります。

この記事では、Visual Basicのサポート終了について、VB6とVB.NETの違い、各バージョンのサポート終了日、社内システムで確認すべきポイントを整理します。

Visual Basicのサポート終了とは

Visual Basicのサポート終了といっても、すべてのVisual Basic関連技術が同じ日に終了しているわけではありません。

まず、Visual Basicには大きく分けて、従来型のVisual Basicと、.NET環境で使われるVisual Basicがあります。

従来型の代表が、Visual Basic 6.0、いわゆるVB6です。VB6は、Windows向けのデスクトップアプリケーションを開発するために広く使われた開発環境です。現在でも、企業内の業務システムとして残っているケースがあります。

一方、VB.NETは、.NET Frameworkや.NET環境で動作するVisual Basic系の言語です。名前は似ていますが、VB6とは内部の仕組みが大きく異なります。

そのため、「Visual Basicがサポート終了している」と聞いた場合でも、それがVB6のことなのか、VB.NETの開発環境のことなのか、Visual Studioのことなのか、.NET Frameworkのことなのかを分けて確認する必要があります。

特に業務システムでは、開発言語だけでなく、開発環境、実行環境、OS、データベース、帳票ツール、外部部品などが組み合わさっています。Visual Basicという名称だけで判断すると、自社システムの状態を誤って理解してしまう可能性があります。

VB6のサポート終了について

VB6の開発環境であるVisual Basic 6.0 IDEおよびVisual Studio 6.0 IDEは、すでにサポート終了しています。

ここでいうIDEとは、プログラムの作成、画面設計、コンパイル、デバッグなどを行うための開発環境のことです。つまり、VB6で新しく開発したり、既存のVB6システムを修正したりするための開発環境は、Microsoftのサポート対象外になっています。

ただし、VB6で作られた実行ファイルがすべて動かなくなっているわけではありません。

実際には、VB6で作られたアプリケーションが現在のWindows環境で動作しているケースもあります。これは、VB6アプリケーションを動かすためのランタイムと、VB6で開発するためのIDEを分けて考える必要があるためです。

VB6のサポート終了を考える場合、次の2つを分けることが重要です。

1つ目は、VB6の開発環境のサポートです。これはすでに終了しています。VB6で新規開発をしたり、既存プログラムを修正・再コンパイルしたりする前提の環境は、現在の開発環境としては古いものになります。

2つ目は、VB6で作られたアプリケーションを実行するためのランタイムです。ランタイムについては、既存アプリケーションの動作互換性を目的として、サポート対象のWindows上で一定の範囲で扱われています。

ただし、これは「VB6での開発が今も正式に推奨されている」という意味ではありません。あくまで既存アプリケーションを動かすための互換性に関する話です。

そのため、VB6で作られたシステムが今動いているとしても、開発環境、保守体制、将来のWindows環境まで含めて確認しておく必要があります。

VB6ランタイムと開発環境の違い

VB6のサポート終了で混乱しやすいのが、ランタイムと開発環境の違いです。

ランタイムとは、VB6で作られたアプリケーションを実行するために必要な部品です。すでに作られたプログラムを動かす側の仕組みと考えると分かりやすいです。

一方、開発環境は、VB6のソースコードを修正したり、画面を変更したり、プログラムを作り直したりするための環境です。

たとえば、ある企業でVB6の販売管理システムが動いているとします。日々の業務で画面を開き、データを入力し、帳票を印刷できている場合、そのシステムは実行環境としては動作しています。

しかし、画面に項目を追加したい、帳票のレイアウトを変えたい、税率や計算ロジックを変更したい、データベース接続を変更したいとなった場合は、開発環境やソースコードが必要になります。

このとき、VB6のIDEはサポート終了しているため、現在の一般的な開発環境のように扱えるわけではありません。また、開発環境を用意できたとしても、古いOCX、DLL、帳票ツール、データベース接続部品などが関係していると、再コンパイルや動作確認に手間がかかることがあります。

つまり、今動くことと、今後も安全に修正できることは別問題です。

VB.NETはサポート終了しているのか

VB.NETについては、VB6とは考え方が異なります。

VB.NETは、.NET Frameworkや.NET環境上で動作するVisual Basic系の言語です。VB6と名前は似ていますが、開発環境、実行環境、画面の作り方、データベース接続、エラー処理などは大きく異なります。

そのため、「VB.NETはサポート終了しているのか」と考える場合、VB.NETという名前だけを見るのではなく、実際に何で作られているかを確認する必要があります。

具体的には、次のような点を確認します。

使用しているVisual Studioのバージョン、対象となる.NET Frameworkのバージョン、WindowsアプリケーションなのかWebアプリケーションなのか、サーバー上で動いているのかクライアントPC上で動いているのか、どのWindows OSで動かしているのか、といった点です。

VB.NETで作られたシステムであっても、Visual Studio 2008やVisual Studio 2010など古い開発環境で作られている場合は、その開発環境自体がサポート終了しています。

また、.NET FrameworkのバージョンやWindows OSのサポート期限も関係します。開発言語だけではなく、実行環境全体を見なければ、サポート状態を正しく判断できません。

Visual Basic関連バージョンのサポート終了日一覧

Visual Basic関連のシステムを確認する際は、VB6だけでなく、VB.NETで利用されるVisual Studioのバージョンも確認する必要があります。

特に注意したいのは、VB6以前のVisual Basicと、VB.NET以降のVisual Basicでは、サポートの考え方が異なる点です。

VB6以前は、従来型のVisual Basicとして扱われます。現在では、VB6の開発環境も含め、古いVisual Basicの開発環境はサポート対象外です。
一方、VB.NET以降は、Visual Basicという言語名だけで判断するのではなく、使用しているVisual Studio、.NET Framework、.NET、Windows OSなどのサポート期限を確認する必要があります。

区分開発環境・バージョンサポート終了日確認ポイント
旧Visual BasicVisual Basic 1.0終了済み現在はサポート対象外。業務システムで残っている場合は極めて古い環境
旧Visual BasicVisual Basic 2.0終了済み現在はサポート対象外。16bit環境や古いWindows環境との関係に注意
旧Visual BasicVisual Basic 3.0終了済み現在はサポート対象外。古いVBX部品を使っている可能性がある
旧Visual BasicVisual Basic 4.0終了済み現在はサポート対象外。16bit版・32bit版の違いにも注意
旧Visual BasicVisual Basic 5.0終了済み現在はサポート対象外。ActiveXやOCX部品を使っている可能性がある
VB6Visual Basic 6.0 IDE / Visual Studio 6.0 IDE2008年4月8日VB6の開発環境はサポート終了済み
VB.NET系Visual Studio .NET 2002終了済み初期の.NET開発環境。現在はサポート対象外
VB.NET系Visual Studio .NET 20032013年10月8日.NET Framework 1.1世代。現在はサポート終了済み
VB.NET系Visual Studio 20052016年4月12日.NET Framework 2.0世代の開発で使われた環境
VB.NET系Visual Studio 20082018年4月10日古いVB.NET・C#案件で残っていることがある
VB.NET系Visual Studio 20102020年7月14日.NET Framework 4世代の業務システムで使われることがある
VB.NET系Visual Studio 20122023年1月10日現在はサポート終了済み
VB.NET系Visual Studio 20132024年4月9日現在はサポート終了済み
VB.NET系Visual Studio 20152025年10月14日現在はサポート終了済み
VB.NET系Visual Studio 20172027年4月13日延長サポート期間中。最新の更新状態確認が必要
VB.NET系Visual Studio 20192029年4月10日延長サポート期間中。Version 16.11が長期サポート対象
VB.NET系Visual Studio 20222032年1月13日現行世代として利用されることが多い

この一覧を見ると、VB6だけでなく、古いVB.NET開発環境もすでにサポート終了しているものが多いことが分かります。

特に、Visual Studio 2005、2008、2010で作られたVB.NETシステムは、現場ではまだ動いていることがあります。しかし、開発環境としてはすでに古く、現在のWindows、.NET Framework、データベース、セキュリティ要件と合わなくなっていることがあります。

また、Visual Studioのサポート期限だけを見ればよいわけではありません。実際のシステムでは、.NET Framework、Windows Server、SQL Server、Access、Oracle、帳票ツール、ActiveX、OCX、外部DLLなども関係します。

そのため、一覧表はあくまで入口として使い、実際にはシステム全体の構成を確認することが重要です。

サポート終了後もVisual Basicシステムは使えるのか

サポート終了後も、Visual Basicで作られたシステムが動作することはあります。

たとえば、VB6で作られた実行ファイルが現在のWindows上で動いているケースがあります。また、古いVisual Studioで作られたVB.NETシステムが、社内PCやサーバー上で問題なく動いているケースもあります。

ただし、サポート終了後も動くことと、メーカーのサポート対象であることは別です。

サポートが終了した開発環境や関連部品については、新しい不具合が見つかっても修正されない、セキュリティ更新が提供されない、技術的な問い合わせの対象外になる、といった状態になります。

業務システムでは、普段は問題なく動いていても、次のようなタイミングで問題が表面化することがあります。

パソコンを入れ替えたとき、Windowsを更新したとき、サーバーを移行したとき、プリンタを変更したとき、ネットワーク構成を変えたとき、データベースのバージョンを上げたとき、セキュリティソフトや権限設定を変更したときです。

このような変更があると、それまで動いていた処理が急に動かなくなることがあります。

特にVB6や古いVB.NETシステムでは、帳票出力、プリンタ制御、共有フォルダ参照、外部DLL、ActiveX、OCX、ODBC接続などが影響を受けやすい部分です。

そのため、サポート終了後も動いているから問題ないと考えるのではなく、どの部分が古い技術に依存しているかを把握しておく必要があります。

自社システムでまず確認すべきこと

Visual Basicのサポート終了を確認する場合、最初に見るべきなのは、システムがVB6で作られているのか、VB.NETで作られているのかです。

VB6の場合、開発プロジェクトには「.vbp」「.frm」「.bas」「.cls」などのファイルが含まれていることがあります。フォーム、標準モジュール、クラスモジュールなどが、VB6のプロジェクトとして構成されています。

VB.NETの場合は、「.sln」「.vbproj」などのファイルがあり、Visual Studioで管理されていることが多いです。ソースコードの拡張子は「.vb」になります。

ただし、実行ファイルだけを見ても、VB6なのかVB.NETなのか判断しにくいことがあります。古いシステムでは、ソースコードが残っていない、開発会社から納品されていない、担当者が退職して分からない、といったケースもあります。

確認すべき項目は、次の通りです。

まず、ソースコードが残っているかを確認します。実行ファイルだけが残っている場合、改修や再構築の難易度は上がります。

次に、開発環境のバージョンを確認します。VB6なのか、Visual Studio 2008なのか、Visual Studio 2010なのか、Visual Studio 2019なのかによって、サポート状態も対応方針も変わります。

さらに、使用している.NET Frameworkのバージョン、データベース、帳票ツール、外部部品、サーバー環境、クライアントPCのWindowsバージョンも確認します。

業務システムの場合、プログラム本体だけでなく、帳票定義ファイル、設定ファイル、マスタデータ、バッチ処理、CSV連携、Excel出力、共有フォルダ、プリンタ設定なども重要です。

これらを整理しておくことで、現在のサポート状態だけでなく、将来の改修や移行の判断もしやすくなります。

VB6とVB.NETを混同しない

Visual Basicのサポート終了を考えるうえで、VB6とVB.NETを混同しないことは非常に重要です。

VB6とVB.NETは、見た目の文法に似ている部分はあります。しかし、開発環境、実行環境、画面の仕組み、ライブラリ、データベース接続、例外処理などは別物です。

VB6のシステムをVB.NETへ移行する場合、ソースコードをそのままコピーすれば動くわけではありません。

画面の作り方、イベント処理、型の扱い、配列、文字列処理、ファイル操作、データベース接続、帳票出力、外部部品の扱いなど、確認が必要な点は多くあります。

また、VB.NETで作られているから安心というわけでもありません。古いVisual Studioや古い.NET Frameworkで作られている場合は、その環境自体がすでにサポート終了していることがあります。

つまり、確認すべきことは「VBかどうか」ではなく、「どのVBで、どの環境で、どの構成で動いているか」です。

Visual Basicのサポート終了で見落としやすい周辺要素

Visual Basicのサポート終了を確認するとき、開発言語だけを見てしまうと、実際の問題を見落とすことがあります。

業務システムでは、アプリケーション本体以外にも、さまざまな周辺要素が関係しています。

たとえば、データベースです。Access、SQL Server、Oracle、MySQL、ODBC接続など、どのデータベースを使っているかによって、今後の対応方針は変わります。

次に、帳票ツールです。古い帳票作成ツールやActiveX部品を使っている場合、Windowsの更新や開発環境の変更で問題が出ることがあります。

また、プリンタやラベル印刷も重要です。業務システムでは、画面上の処理よりも、納品書、請求書、送り状、ラベル、作業指示書などの印刷処理が業務上重要なことがあります。

外部機器との連携も確認が必要です。バーコードリーダー、ハンディターミナル、計測機器、専用端末などと接続している場合、単純にプログラムを新しい環境に移すだけでは動かないことがあります。

さらに、Windowsの権限設定や共有フォルダの扱いも影響します。古いシステムでは、管理者権限を前提にしていたり、特定のフォルダに直接ファイルを書き込んでいたりすることがあります。

このような周辺要素を確認せずに、Visual Basicのバージョンだけで判断すると、実際の運用で問題が出る可能性があります。

サポート終了を確認するときの実務的な進め方

Visual Basicで作られたシステムのサポート状況を確認する場合、いきなり移行先を決めるよりも、まず現状を整理することが大切です。

最初に、現在使っているシステムの一覧を作ります。どの部署で使っているのか、何の業務に使っているのか、誰が使っているのか、どのPCやサーバーで動いているのかを確認します。

次に、システムごとに開発環境を確認します。VB6なのか、VB.NETなのか、C#なのか、Accessなのか、Excelマクロなのかを整理します。

そのうえで、ソースコードが残っているか、開発環境があるか、実行ファイルだけなのかを確認します。

さらに、データベース、帳票、外部連携、プリンタ、サーバー、Windowsのバージョンを確認します。

ここまで整理すると、どのシステムがすぐに対応すべきものなのか、どのシステムはしばらく延命できるのか、どのシステムは将来的に移行計画を立てるべきなのかが見えやすくなります。

Visual Basicのサポート終了は、単に古い技術かどうかの話ではありません。業務がどれだけそのシステムに依存しているか、代替手段があるか、担当者が分かっているか、障害時に復旧できるかを含めて判断する必要があります。

すぐに移行すべきか、まず調査すべきか

Visual Basicのサポート終了を知ると、すぐに移行しなければならないと考えるかもしれません。

しかし、すべてのシステムを一度に移行する必要があるとは限りません。

利用頻度が低いシステム、限定された部署だけで使っているシステム、代替手段があるシステムであれば、まずは現状を記録し、必要なタイミングで見直すという判断もあります。

一方で、毎日の業務で使っているシステム、販売管理や請求処理など止まると業務に影響が大きいシステム、担当者が退職すると分からなくなるシステム、Windowsやサーバーの更新予定があるシステムは、早めに調査しておいた方がよいでしょう。

特に、ソースコードが残っているかどうかは重要です。ソースコードが残っている場合は、調査や改修の余地があります。反対に、実行ファイルだけしか残っていない場合は、同じ機能を再現するために、画面や帳票、データベース、操作手順から仕様を起こす必要が出てきます。

サポート終了への対応は、移行するかどうかを決める前に、まず自社システムの状態を把握することから始めるべきです。

まとめ

Visual Basicのサポート終了は、VB6、VB.NET、Visual Studio、.NET Framework、Windows OSを分けて考える必要があります。

VB6の開発環境であるVisual Basic 6.0 IDEは、すでにサポート終了しています。ただし、VB6で作られた実行ファイルが現在も動作しているケースはあります。

一方、VB.NETについては、VB.NETという名前だけで判断するのではなく、使用しているVisual Studioのバージョン、.NET Framework、Windows OS、サーバー、データベースなどを確認する必要があります。

Visual Studio 2005、2008、2010、2012、2013、2015などはすでにサポート終了しており、古いVB.NETシステムでも確認が必要です。Visual Studio 2017、2019、2022についても、それぞれサポート期限があります。

重要なのは、「今動いているから問題ない」と判断することではありません。

開発環境が残っているか、ソースコードがあるか、どのVisual Studioで作られているか、どの.NET Frameworkを使っているか、帳票や外部部品に依存していないかを整理することが大切です。

Visual Basicで作られた業務システムを使っている場合は、まず現在のバージョンと構成を確認し、今後のWindows更新、PC入れ替え、サーバー更新、保守体制に備えておくことが重要です。

システム開発・ホームページ制作会社|株式会社システムキューブ