Detect MacOS version number or Processor chip
Sometimes as a developer you want to be sure that the Mac your VBA code is running on have the correct MacOS version installed so your code is working correct. With the macro example below you can test the MacOS version.
Mac OS X 10.0 Cheetah
Mac OS X 10.1 Puma
Mac OS X 10.2 Jaguar
Mac OS X 10.3 Panther
Mac OS X 10.4 Tiger
Mac OS X 10.5 Leopard
Mac OS X 10.6 Snow Leopard
Mac OS X 10.7 Lion
OS X 10.8 Mountain Lion
OS X 10.9 Mavericks
OS X 10.10 Yosemite
OS X 10.11 El Capitan
MacOs 10.12 Sierra
MacOs 10.13 High Sierra
MacOs 10.14 Mojave
MacOs 10.15 Catalina
MacOs 11.? Big Sur
MacOs 12.? Monterey
MacOs 13.? Ventura
MacOs 14.? Sonoma
MacOs 15.? Sequoia
In the Mac Office 2016 version they changed the string that is returned by Application.OperatingSystem so I looked for another solution that is working in Office. The macro example below I test if Catalina or higher is installed on your Mac.
Mac OS X 10.0 Cheetah
Mac OS X 10.1 Puma
Mac OS X 10.2 Jaguar
Mac OS X 10.3 Panther
Mac OS X 10.4 Tiger
Mac OS X 10.5 Leopard
Mac OS X 10.6 Snow Leopard
Mac OS X 10.7 Lion
OS X 10.8 Mountain Lion
OS X 10.9 Mavericks
OS X 10.10 Yosemite
OS X 10.11 El Capitan
MacOs 10.12 Sierra
MacOs 10.13 High Sierra
MacOs 10.14 Mojave
MacOs 10.15 Catalina
MacOs 11.? Big Sur
MacOs 12.? Monterey
MacOs 13.? Ventura
MacOs 14.? Sonoma
MacOs 15.? Sequoia
In the Mac Office 2016 version they changed the string that is returned by Application.OperatingSystem so I looked for another solution that is working in Office. The macro example below I test if Catalina or higher is installed on your Mac.
Processor chip
Application.OperatingSystem returns for example a string like this for an Intel Mac with Monterey : Macintosh (Intel) Version 12.6 (Build 21G115). And this for a M? Mac with Sonoma: Macintosh (ARM) Version 14.4.1 (Build 23E224). The macro below will give you arm64 on the M? Mac and x86_64 on the Intel Mac so it is easier to test because there are no version and build numbers in the string.