C# 如何将richtext粘贴到MS Word中;表格「;使用SelectContentControlsByTag和formattedText
在ms word中 我正在尝试复制保存在数据库中的richtext字符串 但看起来我无法直接设置formattedText,因为会出现错误: 错误CS0029无法将类型“字符串”隐式转换为“Microsoft.Office.Interop.Word.Range” 代码剪切:C# 如何将richtext粘贴到MS Word中;表格「;使用SelectContentControlsByTag和formattedText,c#,forms,ms-word,rtf,C#,Forms,Ms Word,Rtf,在ms word中 我正在尝试复制保存在数据库中的richtext字符串 但看起来我无法直接设置formattedText,因为会出现错误: 错误CS0029无法将类型“字符串”隐式转换为“Microsoft.Office.Interop.Word.Range” 代码剪切: var rtf = tq.Descr_Rtf;//dr["tq_descr_rtf"] + ""; if (rtf != "") { try {
var rtf = tq.Descr_Rtf;//dr["tq_descr_rtf"] + "";
if (rtf != "")
{
try { System.Windows.Forms.Clipboard.SetText(rtf, System.Windows.Forms.TextDataFormat.Rtf); }
catch (Exception ex)
{ MessageBox.Show(ex.Message); }
wd.SelectContentControlsByTag("Descr")[1].Range.FormattedText = rtf;
}
else
{
wd.SelectContentControlsByTag("Descr")[1].Range.FormattedText.Text = tq.Descr;// rtf;
}
在OpenWord文档中,
FormattedText
属性仅在两个范围之间工作
就Word而言,RTF不是“本机”格式。您不能使用对象模型将RTF编码写入Word,并生成Word格式—您得到的只是一个字符串(RTF编码)
Word的原生格式是Word Open XML,必须使用InsertXML
方法插入(在OPC平面文件版本中)
将RTF引入Word并将其转换为Word格式的唯一方法是
将RTF保存到文件并使用InsertFile
方法或
将RTF放在剪贴板上,然后将其粘贴到Word中。或
您必须编写(或查找)一个会话库,将RTF转换为有效的Word Open XML(OPC平面文件格式)
我的回答有用吗?由于您不熟悉堆栈溢出,因此,如果答案回答了您的问题,通常会单击答案旁边的复选标记,并向上投票任何有用的贡献。