как ни пытаюсь, не могу текст с форматированием скопировать в RichTextBox, помогите, пожалуйста
Application application = new Application();
object File = "D:\\DOCs\\test.docx"; //this is the path
object nullobject = System.Reflection.Missing.Value;
application.DisplayAlerts = Microsoft.Office.Interop.Word.WdAlertLevel.wdAlertsNone;
Microsoft.Office.Interop.Word._Document docs =
application.Documents.Open(ref File, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref nullobject);
docs.ActiveWindow.Selection.WholeStory();
docs.ActiveWindow.Selection.Copy();
//Clipboard.SetText(docs.ActiveWindow.Selection.Text, TextDataFormat.Rtf);
//rtfMain.Paste();
rtfMain.AppendText(Clipboard.GetText(TextDataFormat.Rtf));
//rtfMain.Document.Blocks.Clear();
//rtfMain.Document.Blocks.Add(new Paragraph(new Run(Clipboard.GetText(TextDataFormat.Rtf))));
docs.Close(ref nullobject, ref nullobject, ref nullobject);
application.Quit(ref nullobject, ref nullobject, ref nullobject);
Здравствуйте, dsalodki, Вы писали:
D>как ни пытаюсь, не могу текст с форматированием скопировать в RichTextBox, помогите, пожалуйста
Так пробывали?
...
static Stream StringStream(string s) {
var stream = new MemoryStream();
var writer = new StreamWriter(stream);
writer.Write(s);
writer.Flush();
stream.Position = 0;
return stream;
}
static void setRtf(RichTextBox tb,string rtf) {
tb.Document.Blocks.Clear();
tb.Selection.Load(StringStream(rtf), DataFormats.Rtf);
}
void example() {
var rtf = @"{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Arial;}}{\colortbl;\red0\green0\blue0;\red255\green0\blue0; }\viewkind4\uc1\pard\qc\cf1\fs16 test \b bold \cf2\b0\i italic\cf0\i0\fs17\par }";
setRtf(richTextBox,rtf);
}
...