Javascript - 有没有一种使用ActiveX导出带格式的HTML到Word文档的方法?

3

我找到了一种使用ActiveX组件向Word写入文本的方法,但我不确定是否可以将HTML写入Word。

function generateWord(elementIdValue){

  var value=$("#"+elementIdValue)).html();

  var word= new ActiveXObject('Word.Application');
  word.Visible=true;
  var doc=word.Documents.Add();
  var sel=word.Selection;
  sel.TypeText(value);

}

我不想直接将HTML保存到Word中(带有所有的HTML标签,不易读取),而是想在Word中写入数据并附带HTML样式。
我已经成功地使用HTMLBody属性将HTML和格式写入Outlook中。
var objO = new ActiveXObject('Outlook.Application');     
var objNS = objO.GetNameSpace('MAPI');     
var mItm = objO.CreateItem(0);     
mItm.To = "";
mItm.Subject = "Test";
mItm.HTMLBody = (($(("#"+elementIdValue)).html())

Word对象中是否有类似Outlook对象的属性,可以解析HTML?


抓取HTML并不意味着您会得到相关的样式。你的目标是什么? - Diodeus - James MacFarlane
我的目标是在写入 Word 文档时保持格式。我正在尝试实现与复制 HTML 数据并粘贴到 Word 相同的效果(这样只会将数据与格式一起粘贴)。 - Learner
3
永远不会奏效。MS Word的HTML渲染引擎非常差劲。你最好生成PDF文件。 - Diodeus - James MacFarlane
我一直使用完整的HTML文档作为Word文档的内容,这种方法对我来说一直很有效。你可以自己试试,只需将文件扩展名从.html更改为.doc(x)... Word会尽其所能地呈现它。 - wxactly
1个回答

0

您可以在不使用ActiveX的情况下实现它。请查看this


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接