无法隐式转换" string"到"对象"错误?

时间:2016-06-03 09:10:04

标签: c# .net ms-word office-interop

我正在尝试将一些文本粘贴到c#中的word文件中,我从stackoverflow帖子中尝试了这段代码:

watchify src/main.jsx -o public/js/main.js -v -t [ babelify --presets [ react ]]

所以我得到了这个错误:无法隐式转换" string"到"对象"当我跑这条线时。

  

"文档wordDoc = wordApp.Documents.Open(filePath);"

但我不知道我必须使用什么样的物体。

1 个答案:

答案 0 :(得分:1)

Word的COM世界可以做“纯粹”的事情C#不“喜欢”/理解。其中一个是可选参数。当方法可以接受不同数量和/或参数组合时,C#使用概念“重载”;经典的VB / COM世界有一个带有可选参数的方法。因此,PIA将这些作为数据类型object呈现给C#,需要通过“引用”传递。如果未使用该参数,则传递ref Type.Missing

较新版本的C#可以更好地适应经典的VB / COM特性,但是当你碰到你描述的东西时尝试:

object oFilePath = filePath;
Document wordDoc = wordApp.Documents.Open(ref oFilePath);

如果您收到其他错误,请查看Intellisense,了解您正在编程的Word版本的Open方法,并为Intellisense“tip”中列出的其余参数添加ref Type.Missing。< / p>