Как передать текст, отформатированный из формы Windows, в приложение Word? - PullRequest
0 голосов
/ 13 июня 2018

У меня есть RichTextBox, в котором я пишу текст и задаю ему цвет и формат, и я хочу, чтобы при нажатии запрограммированной кнопки я открывал приложение Word и передавал текст, который у меня есть в RichTextBoxв документ Word вместе с цветом и форматом, которые я дал в своем приложении.

У меня есть следующий код, который открывает Word и передает текст, который был у меня в RichTextBox, но проблема в том, что онне показывает цвет и формат, которые были у меня в тексте в приложении.

colorLetra = new ColorDialog();
objWord = new Word.Application();
objWord.Visible = true;
objDocumento = objWord.Documents.Add(Missing.Value);
objWord.Selection.Font.Color = objWord.Selection.Font.Color;
objWord.Selection.TypeText(richTextBox.Text);

Не могли бы вы сказать, почему он не отображает цвет и формат в Word?

1 Ответ

0 голосов
/ 13 июня 2018

Ваш вопрос:

Не могли бы вы сказать мне, почему он не показывает мне цвет и формат в Word?

Причина в том, что вы вводите только /введите текст.Вы не применяете никакого форматирования.Вы просто переносите строковое значение элемента управления Windows Forms в документ Word в виде строки.

Ваш подразумеваемый вопрос: как передать форматированное содержимое RichTextBox в Word ...

Невозможно напрямую передать отформатированную информацию из формы Windows в документ Word.Вы должны пройти через буфер обмена, как это было предложено в комментарии.Однако код, на который указывают комментарии, неверен для форматированного текста.У меня работает следующее:

    if (richTextBox.Text.Length > 0)
    {
        // Copy the formatted content to the clipboard
        Clipboard.SetText(richTextBox.Rtf, TextDataFormat.Rtf);
        objWord.Selection.Paste();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...