圆滚滚的胖狸 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 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵