在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式。请确保您的 Main 函数带有 STAThreadAttribute 标记
在网站上有个把导出为word功能,导出的操作是在另一个项目里实现的 。然后因为当有导出的内容包含html标签导致导出的文档基本没用,在插入的时候将内容放入剪贴板再粘贴到word文档中 ,在这里就抛出如题的异常。用度娘上面的写法也没法解决。
想问下 ,应该怎么做才能实现 --------------------编程问答--------------------
public bool InsertValue(string bookmark, object value)
{
object bkObj = bookmark;
if (wordApp.ActiveDocument.Bookmarks.Exists(bookmark))
{
wordApp.ActiveDocument.Bookmarks.get_Item(ref bkObj).Select();
Thread app = new Thread(new ParameterizedThreadStart(Copy));
app.ApartmentState = ApartmentState.STA;
app.Start(value);
Thread.Sleep(200);
wordApp.Selection.PasteAndFormat(WdRecoveryType.wdFormatOriginalFormatting);
return true;
}
return false;
}
static void Copy(object value)
{
Clipboard.SetDataObject(value, false);
}
这是按照网络上的解决方法写的,不过虽然不报错了
但是导出的文档里,插入的内容全是标题所示的内容 --------------------编程问答-------------------- 人工置顶
木有大牛么 --------------------编程问答-------------------- 来个接分的,没分发帖了
补充:.NET技术 , ASP.NET