How to select the target Excel bitness
Since MS Office 2010 Excel, Excel provides two different bitness options – 32-bit and 64-bit –, our product supports both 32-bit and 64-bit Excel versions. You may also compile your workbook to an EXE file which will be able to work the same on both versions, 32-bit Excel or 64-bit Excel versions.
When you compile your workbook, you need to define which a target Excel version that your compiled workbook will be able to work with.
To find the bitness of Microsoft Excel you need to follow the path: Microsoft Excel main menu >> File >> Account >> About Excel.
If you select the 32-bit ‘Target Excel’ option, then the compiled EXE will only be able to run on a computer with Excel 32-bit.
If you select the 64-bit ‘Target Excel’ option, then the compiled EXE will only be able to run on a computer with Excel 64-bit.
It does not matter what bitness of Windows OS the computer has, the only the important thing is the bitness of Excel which is installed on the computer where the EXE is started.
The ‘Both 32 & 64’ bit ‘Target Excel’ option allows you to create an EXE file which will be indifferent to the Excel bitness on customer computer; the compiled EXE will be able to start with Excel 32-bit as with Excel 64-bit.
However, the ‘Target Excel Both 32 & 64’ option may not work for some workbooks. If your workbook uses VBA code with #if/#else/#endif directives then compilation may fail.
If you select ‘Target Excel Both 32 & 64’ and your workbook compilation fails or your workbook does not work as expected after compilation, then you need to compile separate EXE files for 32 and 64-bit Excel by selecting only 32-bit or 64-bit respectively.
If you do not know what Excel bitness your client has, then you need to provide the EXE file compiled with ‘Both 32 & 64’ option or deliver both versions of your EXE – one compiled for Excel 32-bit and the other compiled for Excel 64-bit.
Also you may verify the Excel bitness on customer computer. To do that you need to create a simple workbook and insert the following code into Workbook_Open procedure :
#if Win64 then MsgBox "This is 64 bit Excel" #else MsgBox "This is 32 bit Excel" #end if
Send this workbook to your customer and he informs you what message the workbook shows when he starts it on their computer.
Cross compiling is supported, so you may compile a 64-bit EXE from 32-bit Excel and vice versa.