Winsim has the source code and compiled dll version of the 1967 ASME Steam Tables on their website. It is a very convenient and powerful implementation of the steam tables.
Unfortunately it cannot be used from Visual Basic or Excel (VBA) as it uses the _cdecl calling convention, instead of the _stdcall convention.
With Lynn McGuire's permission, we have created a version that can be used from VB/Excel. You can download this version by clicking on steam67.zip, which contains the dll and an Excel 97 example of using it.
Korf also has a complete implementation of the IAPWS IF97 steam tables. Please contact us for further information, including the cost.