问题描述
- 求解: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
报错如图
解决方案
- RichTextBox 有 ClipboardCopy的方法吗, 不是Copy吗?
- 可能是有延迟, 你在捕获异常的时候再试下 Paste动作
时间: 2024-09-17 03:21:40