プログラム的に、インストールされているMicrosoft Officeバージョンの名前を取得できる方法は何ですか?Powershellコマンド、VBScript、WMIクエリをすべて見つけました。レジストリとファイルシステムに目を通しましたが、インストールされたOfficeバージョンを収集するための完璧な方法は見つかりません。
私が思いついた最も近い方法は、WMICクエリを使用することでした。
wmic product where "Name like '%Office%'" get name,version
残念ながら、これはさまざまなアプリケーションの配列を返します。さらに細かくフィルタリングしても、「Office 16」が「Pro」、「Professional Plus」、または「Office365」であるかどうかはわかりません。
それ以外の場合、レジストリ値
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Scenario\INSTALL\ProductstoAdd
少なくともバージョン2016には存在しますが、古いバージョンには存在しません。また、それ自体にはフレンドリ名が含まれていないため、データProPlusRetail.16_en-us_x-none
を「Office 2016 Professional Plus」またはO365BusinessRetail.16_en-us_x-none
「Office 365 Business(2016)」に変換するには、さらにスクリプトを作成する必要があります。
私は誰かが巨大なスクリプトのif / elseif / elseifステートメントの束よりも簡単な方法論を持っていることを望んでいます。