PR

【VBA】ExcelやOSのバージョンを取得する

これで楽に!?VBA活用
記事内に広告が含まれています。

こんにちは、Ryoです。
ExcelやOSが常に最新バージョンで統一されていれば良いのですが、現実的には難しいですから複数混在する環境になってしまうのが一般的ですよね。それぞれのバージョンはVersionプロパティやOperatingSystemプロパティを使うことで取得できますので、今回はその方法について書いていきます。

スポンサーリンク

1.Excelバージョンの取得

私はExcelの2010と2016の環境を持っているので、各々バージョン情報を取得してみます。

◆Excel2010

Excel2010のバージョン情報を確認すると以下の通りになっています。

そこで、以下のサンプルコードを実行します。

Sub Sample1()

 MsgBox "Excel Version : " & Application.Version, vbInformation

End Sub

実行結果として、Excel2010は「14.0」というバージョンNo.が返ってきます。

◆Excel2016

こちらもExcel側のバージョン情報を確認すると以下の通りです。

同様のサンプルコード(上述Excel2010と同じ)を実行します。その結果としては以下画像となり、Excel2016は「16.0」というバージョン情報が返ってきます。

このようにExcelのバージョンを取得するには、Versionプロパティを使用します。

オブジェクト.Version

構文のオブジェクトはApplicationになり、実行すると上述結果の通りExcelのバージョンに応じた文字列が返ってきます。

Excelのバージョンと取得される文字列(バージョンNo.)は以下の通りです。

バージョン バージョンNo.
Excel2016 16.0
Excel2013 15.0
Excel2010 14.0
Excel2007 12.0
Excel2003 11.0
Excel2002 10.0
Excel2000 9.0
Excel97 8.0
Excel95 7.0
Excel5.0 5.0

2.OSのバージョンを取得

OSのバージョンを取得するにはOperatingSystemプロパティを使用します。

オブジェクト.OperatingSystem

実行するとOSの種類を取得しますので、私のPC(Windows10 64bit)で確認してみます。

◆サンプルコード

Sub Sample2()

  MsgBox "OS Version : " & Application.OperatingSystem, vbInformation

End Sub

実行結果は・・・

結果は「Windows(32bit)NT 10.00」となりましたが、私のOSは64bitなので変ですよね。

何故結果が異なるのかというと、「インストールされたOfficeによって変わる」ようです。私のOfficeは32bitなので、OSのバージョン情報を取得してるにも関わらず32bitとして返ってくるということですね。紛らわしいので、この点はご注意ください。

NT以降の文字列はWindowsバージョンによって異なるようで、以下の値が返ってきます。

OS バージョン情報
Windows10 Windows(32bit or 64bit)NT 10.00
Windows8 Windows(32bit or 64bit)NT 6.02
Windows7 Windows(32bit or 64bit)NT 6.01
Windows Vista Windows(32bit or 64bit)NT 6.00
Windows XP Windows(32bit or 64bit)NT 5.01
Windows2000 Windows(32bit or 64bit)NT 5.00
Windows Me Windows(32bit or 64bit)NT 4.90
Windows98 Windows(32bit or 64bit)NT 4.10
Windows95 Windows(32bit or 64bit)NT 4.00

表内の(32bit or 64bit)はOSとOfficeが64bitなら「64bit」Officeが32bitなら「32bit」が返ってくる形になります。

3.まとめ

ExcelやOSのバージョンの違いにより処理を変える場合には、有効な手段だと思います。特にExcelでは異なるバージョン間ですとエラーが発生しやすいこともありますからね。




利用頻度としては、それほど高くないものの1行の記述で取得できるような内容ですから知っておくと今後何かの役に立つのではないかと思いますので、機会があればぜひご活用くださいませ!

以上、ExcelやOSのバージョンを取得する方法についてでした!今回の記事が何かの参考になれば幸いです。

Ryo

タイトルとURLをコピーしました