教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA その他操作】OSのバージョン情報を取得(OperatingSystem)する方法を教えて!

構文

構文は以下の通りです。

Application.OperatingSystem

解説

Application.OperatingSystemプロパティは、ExcelVBAで現在のオペレーティングシステムの情報を取得するために使用されます。このプロパティは文字列型(String)を返すため、取得したオペレーティングシステムの情報を文字列として利用することができます。

使い方

Application.OperatingSystemプロパティの使い方を説明します。
・オペレーティングシステムのバージョンを取得する
・特定の処理をオペレーティングシステムに応じて分岐させる
・特定のオペレーティングシステムでのみ動作する機能を実装する

オペレーティングシステムのバージョンを取得する例を示します。

Sub GetOSVersion()
    Dim os As String
    os = Application.OperatingSystem
    MsgBox "現在のオペレーティングシステムは " & os & " です。", vbInformation, "OSバージョン"
End Sub

上記のコードを実行すると、メッセージボックスが表示され、現在のオペレーティングシステムのバージョンが表示されます。

プログラミング例

例1: 特定のオペレーティングシステムでのみ動作する処理

Sub SpecialFeature()
    Dim os As String
    os = Application.OperatingSystem
    If os = "Windows 10" Then
        ' Windows 10の場合のみ実行する処理
        MsgBox "この機能はWindows 10でのみ利用可能です。", vbInformation, "特別な機能"
    Else
        ' Windows 10以外の場合の処理
        MsgBox "この機能はWindows 10でのみ利用可能です。別の機能をご利用ください。", vbExclamation, "特別な機能"
    End If
End Sub

上記の例では、現在のオペレーティングシステムがWindows 10である場合にのみ特別な機能が実行されるようになっています。それ以外のオペレーティングシステムでは、別の処理が実行されるようになっています。

例2: オペレーティングシステムに応じた処理の分岐

Sub OSBasedProcessing()
    Dim os As String
    os = Application.OperatingSystem
    Select Case os
        Case "Windows 10"
            ' Windows 10の場合の処理
            MsgBox "Windows 10向けの処理を実行します。", vbInformation, "OSに応じた処理"
        Case "MacOS"
            ' MacOSの場合の処理
            MsgBox "MacOS向けの処理を実行します。", vbInformation, "OSに応じた処理"
        Case Else
            ' それ以外の場合の処理
            MsgBox "その他のオペレーティングシステム向けの処理を実行します。", vbInformation, "OSに応じた処理"
    End Select
End Sub

上記の例では、現在のオペレーティングシステムに応じて処理を分岐させています。Windows 10の場合、MacOSの場合、およびそれ以外の場合にそれぞれ異なる処理が実行されます。

まとめ

Application.OperatingSystemプロパティを使用することで、現在のオペレーティングシステムの情報を取得し、それに応じた処理を実行することができます。オペレーティングシステムのバージョンの取得や、特定の処理の分岐などに活用することができます。是非活用してください。