PrecisionCalc
xl
Precision
Get Your Numbers Right
xlPrecision and 64-Bit Excel
xlPrecision is
not yet compatible with 64-bit Excel. A solution in is progress
but it may be some time before it's ready. Until then, Excel is compatible with
all 32-bit versions of Excel from Excel 97 through Excel 2019 and on.
The basic issue is that xlPrecision is implemented as a DLL (xlPrecision.xla is
just a simple stub that calls xlPrecision.dll), and an EXE of one bitness cannot
load a DLL of another bitness. So 64-bit Excel can't load the 32-bit
xlPrecision.dll.
Until xlPrecision is upgraded for 64-bit compatibility, I would suggest any of
the following:
First, just an FYI that versions of office for which 64-bit versions are
available (2010, 2013, 2016, & 2019) will not install 32-bit versions and 64-bit versions
in the same installation of Windows. As far as I know there is no workaround.
-- Install Excel 2007 or earlier, alongside 64-bit Excel 2010, 2013, 2016, or
2019, to use
with xlPrecision. Excel 2007 does not check for 64-bit versions of Office so it
will install even though 64-bit Office is installed. But note that although
this works, Microsoft in principle does not support it.
-- If you're on Windows 7, install Windows 7 XP Mode, which is a virtual Windows
XP installation that runs within Windows 7. You can install 32-bit Excel 2010 in
it (unfortunately 32-bit Office 2013 and later won't install on XP). Windows 7 XP Mode
requires Windows 7 Pro or higher. Microsoft does support running a different
Office bitness version in a virtual machine (i.e. one Excel bitness version
running on the host, and a different Excel bitness version running in a virtual
machine on that host). You don't have to have a Windows XP license to use
Windows 7 XP Mode; you do have to activate it but you use a standard free
activation key that Microsoft provides for it.
-- If you're on Windows 8 or 10, it has a virtualization technology called
"Hyper-V" which will let you run any version of Windows in a virtual machine.
Then you can install 32-bit Office in a "Hyper-V" virtual machine in which you've
installed Windows 7 or 8. Hyper-V has minimum hardware requirements but most
computers made since 2010 meet the requirements (i3/i5/i7 or later). Note that
Windows on Hyper-V will have to be activated with a valid license for whatever
version of Windows you install on it.
-- Uninstall 64-bit Office and install 32-bit Office instead. Both bitness
versions are included on the same retail disc, though I'm not sure how it works
if Office is included with the computer (OEM version of Office). 32-bit Excel is
actually very slightly faster than 64-bit Excel, according to a Microsoft
manager who said so in a blog. Also, many Excel add-ins are not yet 64-bit
compatible and many never will be (abandonware). The only practical reason to
run 64-bit Excel is if you need to open spreadsheets that are too huge --
multi-gigabyte -- for 32-bit Excel to open. Few people ever have any need to
open such huge files in Excel. 64-bit Excel's ability to open gigantic files is
an important feature for those who need it, but very few need it.
If the geek coolness factor of running 64-bit Excel
proves irresistible despite its limitations, my advice is to go ahead and
install it, write a 64-bit WinAPI call in Excel VBA, savor the exhilarating
awesomeness of running 64-bit Excel for a few days -- and then uninstall it and
install the much more practical 32-bit Excel. Or, just install 64-bit Excel in a
Hyper-V virtual machine on Windows 8.
Note that 32-bit Office runs great on
64-bit Windows. If the computer has enough RAM, 64-bit Windows
allows each 32-bit application to have a 2GB working space, rather than all
32-bit applications having to fit within the 2GB maximum total that 32-bit
Windows can allocate to running applications. That means that 32-bit Excel
gets more RAM in 64-bit Windows than it gets in 32-bit Windows, if you have 4GB
of RAM or more. Running 32-bit Excel on 64-bit Windows is the best way for
most people to run Excel, and probably will be for many years to come.
Let me know if you have any questions.