在 64 位机器上从 VFP9 调用 Excel

Calling Excel from VFP9 on 64-bit machine

我有一个 VFP9 应用程序,它使用自动化生成 Excel 个文件,以 :

开头
**oExcel = CREATEOBJECT(“Excel.Application”)
oWorkbook = oExcel.Workbooks.Add()**
. . .

Excel 正在使用 2013。 sheet 然后被填充、格式化和保存。这在 Windows 7 32 位机器上工作正常。但是在 Windows 7 64 位机器上,某些指令会失败。特别是:

**oworkbook.SaveAs(<NewFilename>)**

失败并显示消息“无法获取工作簿 class 的另存为 属性”

作为变通方法,我在创建 Excel 对象之前创建,然后调用:

**oworkbook.Save ()**

这行得通。其他用户是否遇到过这种情况;在 64 位机器上 运行 时,从 VFP 使用 Excel 是否有任何其他限制。

谢谢

oWorkbook.SaveAs() 和 oWorkbook.Save() 在 64 位机器上都没有任何问题(我假设你的意思是 windows (7/8/10) 64)。你的问题应该是别的。

我遇到过同样的问题,但问题是用户使用的 Excel 版本与我不同。这不是 64 位与 32 位的对比。我通过定义解决了它:

  #define xlNormal 39

设置工作簿的目标版本。这是关于枚举的页面:https://msdn.microsoft.com/en-us/library/office/ff198017.aspx

我还发现,在我保存多达 50 个的应用程序中,我必须打开,设置保存标志,完成我的工作然后说另存为。

祝你好运 :) 请考虑关闭此问题。我想你会得到两分。