当前位置:编程学习 > C#/ASP.NET >>

在可以调用 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
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,