- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发旧版 Delphi 6(Build 6.240,Update Pack 2)应用程序,该应用程序在 Windows XP 和 Office 2000 - 2003 上运行良好。
我们的客户现在希望能够在带有 Office 2010 的 Windows 7 上运行该应用程序。
该代码似乎仍然成功创建了 Word 合并文档,并将其保存到 Oracle 数据库中的 BLOB 字段,并且可以成功地在 Word 2010 中从数据库中重新打开该文档。
问题是应用程序随后需要创建文档的 PDF 版本(使用 PDF-XChange),因此它使用 OleContainer.SaveAsDocument
将文档写入磁盘上的临时文件。尝试在 Word 2010(甚至 Word 2003)中打开此文档会显示“文件转换”对话框,以“选择使文档可读的编码”。所有选项似乎都无法使文档可读(即使它们这样做,仍然会出现问题,因为这是一个自动化过程)。
使用 CreateObject('Word.document.8', false) 建立
我还尝试了其他值而不是 8 - 9、10、11 和 14,当 12 或只是“Word.document”运行时会导致“无效类字符串”错误,但效果与 8 相同,即无法打开保存的文档在Word 中。OleConnection
所以,问题是 - 如何将 Windows 7 上的 Delphi 6 中的 OleContainer
中的 Word 文档与 Word 2010 保存为可由 Word 重新打开的格式?
最佳答案
据我所知,OleContainer 无法保存 .docx 文件。总是腐 eclipse 他们。我通过使用容器的 OleObject 变量解决了这个问题,这样我就可以直接访问 Words 过程。下面是一个例子:
OleContainer.OleObject.SaveAs(DocumentName);
OleContainer.OleObject.Saved := True;
我看到您提到您正在使用 .doc,但希望这无论如何都会对您有所帮助。
关于Delphi 6 OleContainer SaveAsDocument 在 Windows 7/Word 2010 中创建损坏的文件,在 XP/Word 2003 中正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8823096/
下午好:-),在我的应用程序中,我使用 OleContainer 从 Microsoft Powerpoint 查看演示文稿。 我用此代码加载和运行演示文稿文件: with oleContainer
使用XE8。Devex TcxGrid 有一列表示带有 PopupEditProperties 的 blob 数据,并且 PopupControl = TOleContainer 控件。该列代表各种数
我正在开发旧版 Delphi 6(Build 6.240,Update Pack 2)应用程序,该应用程序在 Windows XP 和 Office 2000 - 2003 上运行良好。 我们的客户现
我是一名优秀的程序员,十分优秀!