After installing vcredist, Windows SDK (specifically signing, everything else was skipped), and OfficeSips, I still cannot use Signtool to sign XLSM files.
I have made a folder in Program Files for all of the OfficeSips files, and I've registered msosip.dll and msosipx.dll. I've also made the key HKLM\SOFTWARE\Microsoft\VBA, and populated it with REG_SZ Vbe71DllPath as the readme instructed. Despite all this, Signtool still comes back with "This file format cannot be signed because it is not recognized." when attempting to sign a macro-enabled Excel sheet. I have also attempted using wintrust.dll.ini as the readme instructed, but that doesn't work either, instead causing Signtool to terminate immediately instead of giving an error.
You are probably running the 64bit version of signtool, msosip.dll and msosipx.dll are 32bit so can only be used by the 32bit version of signtool.exe.
In a powershell console you can run gcp signtool
and it will tell you the path that signtool is being run from.
Generally speaking, if the path starts with C:\Program Files(x86)
it is the 32bit version and if it starts with C:\Program Files
it will be the 64bit version.