【问题标题】:automate word for windows 2007 from javascript从 javascript 自动化 windows 2007 的 word
【发布时间】:2012-03-21 04:59:22
【问题描述】:

我有一个 Web 应用程序,它调用 Word for Windows 以便对从 Web 表单中提取的文本执行拼写检查。该代码使用 ActiveXObject 调用来创建 Word 的实例,并使用“HTMLProject”属性来创建文档并向其中添加文本。该代码在 Windows 2003 中运行良好,但在 2007 中崩溃,因为 Word 2007 显然不再支持 HTMLProject 属性。以下是旧代码;我的问题是,使此代码适用于 Word 2007 的最简单方法是什么?

function spellCheck(textToCheck) { 
    wordApplication = new ActiveXObject("word.application"); 
    wordDocument = wordApplication.Documents.Add("", false, wdNewWebPage)      
    wordApplication.ActiveDocument.HTMLProject.HTMLProjectItems(1).Text = textToCheck
    wordApplication.ActiveDocument.HTMLProject.RefreshDocument(true) 
    wordApplication.ActiveDocument.SpellingChecked = false wordApplication.Visible = true; 
    wordApplication.Activate(); wordApplication.ActiveDocument.Activate(); 
    wordApplication.ActiveDocument.CheckSpelling(); 
}

【问题讨论】:

  • 请不要忘记分号! :)

标签: javascript ms-word activex office-automation


【解决方案1】:

根据this source,Word 2007 不再支持 HTML 文件格式。您必须更新代码以反映新的 OpenXML 格式。

看起来您正在使用 Word 进行拼写检查。试试这个:Bring spell check window to foreground with JavaScript/JScript in Windows 7

另外,如果您能够移除 Word 的依赖项(并且您没有在项目中使用它来执行任何其他操作),您可能需要查看 PHP 和 JS 解决方案:http://code.google.com/p/jquery-spellchecker/

【讨论】:

  • 谢谢你,SimpleCoder。这些看起来不错的链接,我会看看我是否可以使用它们来找出如何解决我的问题。敬请期待!
  • 抱歉,在最后一篇文章中不小心按了 Enter 键,所以它并不完全提供信息。通过进一步研究您在上面提供的“拼写检查”链接,我发现这是一个有用的链接。另一个非常有用的链接是 Word 2007 对象参考文档here。我希望通过这些链接,我今天可以解决我的问题,并会在我这样做时再次发布。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-07-24
  • 2010-10-14
  • 2010-10-26
  • 1970-01-01
  • 2016-12-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多