圆滚滚的胖狸 2015-06-01 14:19 采纳率: 80%
浏览 2416
已采纳

求解:C# 操作在word,将richtextbox内容粘贴到word时剪贴板报错

要将RichTextBox中的内容通过剪贴板粘贴到word中.
现在粘贴时报错,说剪贴板为空,但我执行Ctrl+V,可以将剪贴板中的数据粘贴出来.但就是执行paste()时过不去.

代码如下

 string strDirectory = System.IO.Directory.GetCurrentDirectory().ToString();
                string strTempFileName = strDirectory + @"\temp000.docx";
                Clipboard.Clear();               

                #region 将RichTextBox的内容存储到临时word文档中
                try
                {       
                    //建立word工作
                    _Word._Application _wardApp = new _Word.Application();
                    _wardApp.Visible = false;
                    _Word._Document _wordDoc = null;
                    object missing = System.Reflection.Missing.Value;
                    object filename = strTempFileName;
                    object readOnly = false;
                    object isVisible = false;
                    _wordDoc = _wardApp.Documents.Add(missing, missing, missing, isVisible);
                    rtxbContent.SelectAll();
                    rtxbContent.ClipboardCopy();

                    _wordDoc.Activate();                 

                    _Word.Paragraph _wordPara = _wordDoc.Content.Paragraphs.Add(ref missing);
                    _Word.Range _wordRange = _wordDoc.Paragraphs[1].Range;
                    _wordRange.Paste();           



                    //保存word文档
                    _wordDoc.SaveAs2(filename, missing, missing, missing, missing, missing, missing, missing,
                        missing, missing, missing, missing, missing, missing, missing, missing, missing);
                    //退出word
                    _wardApp.Quit(true, missing, missing);

                    MessageBox.Show("保存成功", "成功啦");

                }
                catch(Exception ex)
                {
                    MessageBox.Show(ex.ToString(), "失败啦!<( ̄︶ ̄)>");
                }

                #endregion

报错如图

报错如图

  • 写回答

1条回答 默认 最新

  • edouardzyc 2015-06-02 01:19
    关注
    1. RichTextBox 有 ClipboardCopy的方法吗, 不是Copy吗?
    2. 可能是有延迟, 你在捕获异常的时候再试下 Paste动作
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

    报告相同问题?

    悬赏问题

    • ¥15 C++代码报错问题,c++20协程
    • ¥15 c++图Djikstra算法求最短路径
    • ¥15 Linux操作系统中的,管道通信问题
    • ¥15 ansible tower 卡住
    • ¥15 等间距平面螺旋天线方程式
    • ¥15 通过链接访问,显示514或不是私密连接
    • ¥100 系统自动弹窗,键盘一接上就会
    • ¥50 股票交易系统设计(sql语言)
    • ¥15 调制识别中这几个数据集的文献分别是什么?
    • ¥15 使用c语言对日志文件处理