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

求解: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 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作