Скопируйте и вставьте из буфера обмена в текстовое поле С# Windows в том же формате

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

Может ли кто-нибудь провести меня через это?


person shruti31    schedule 11.07.2013    source источник
comment
Дублируйте stackoverflow.com/questions/9749141/   -  person Sandeep G B    schedule 11.07.2013
comment
Вам нужно будет использовать RichTextBox, чтобы иметь надежду на получение отформатированного текста. TextBox — это только обычный текст. Ссылка Sandeep иначе отвечает на ваш вопрос.   -  person Cody Gray    schedule 11.07.2013
comment
IMO не дублирует, OP не будет RTF, потому что RTF не подходит для электронной почты   -  person Antonio Bakula    schedule 11.07.2013


Ответы (1)


Вы можете получить контент из Word или Excel (или любого другого приложения) в формате html, и это будет идеально для электронной почты:

string data = Clipboard.GetText(TextDataFormat.Html);

Вы получите строку html, но с некоторым заголовком впереди, посмотрите ссылки ниже, чтобы узнать, как с этим справиться:

http://blogs.msdn.com/b/jmstall/archive/2007/01/21/html-clipboard.aspx

http://theartofdev.wordpress.com/2012/11/11/setting-html-and-plain-text-formatting-to-clipboard/

предупреждение html, создаваемый word, просто ужасен, поэтому, вероятно, у некоторых людей возникнут проблемы при просмотре таких писем с грязным html.

person Antonio Bakula    schedule 11.07.2013