2015-02-27 3 views
0

Я создал настольное приложение, в котором мне нужно сохранить тексты текстового поля в текстовый документ, документ должен быть создан пользователем и позиция документа будет заблокирована пользователем, а затем значение текстового поля должно быть сохранено в нем.как вставить текст из приложения C# в документ MS Word и сохранить его как новый файл

, например:

«это TextBox значение»

то имеется кнопка сохранить, нажав что окно сохранения должно быть открыто, то пользователь будет дать имя для этого и установите его позицию, затем нажмите OK, наконец, текст текстового поля будет сохранен в этом документе слова.

любая идея, как это сделать? Я искал выделение в google, но я не нашел ничего, чтобы найти способ ...

+0

Возможный дубликат [Как создать документ Word на C#?] (Http://stackoverflow.com/questions/10412/how-can-a-word-document-be-created-in-c) –

+0

Я думаю, эта статья поможет вам: https://msdn.microsoft.com/en-us/library/6b9478cs.aspx – netwer

ответ

-2

Я нашел решение для моего вопроса, я думал поделиться, если кто-либо сталкивался такого рода проблемы, вот код:

private void btnSave_Click(object sender, EventArgs e) 
    { 


     SaveFileDialog saveFileDialog1 = new SaveFileDialog(); 

     saveFileDialog1.Filter = "Word document|*.doc"; 
     saveFileDialog1.Title = "Save the Word Document"; 
     saveFileDialog1.FileName = "MS word document.docx"; 

     if (saveFileDialog1.ShowDialog() == DialogResult.OK) 
     { 
      File.WriteAllText(saveFileDialog1.FileName,txtResult.Text.ToString()); 
     } 
    } 

это работает отлично, но я хочу, чтобы установить font-family и font-size, если кто-нибудь знает, пожалуйста, поделитесь своим решением?

+0

Как это решение? ['File.WriteAllText'] (https://msdn.microsoft.com/en-us/library/system.io.file.writealltext (v = vs.110) .aspx):« Создает новый файл, записывает указанную строку в файле, а затем закрывает файл. Если целевой файл уже существует, он перезаписывается »- вы не« вставляете »текст в документ и сохраняете его, вы создаете новый * текстовый * файл, который имеет расширение '.docx'. 1) Это не * документ Word, а 2) вы не «вставляете» или добавляете текст в документ, вы взорвали все документы и сделали совершенно новый. – Quantic

+0

@Quantic, хотя этот ответ длится несколько месяцев, вставляет текст и взрывает старый файл, а воссоздание его может быть синонимом (по крайней мере, в терминах текстовых документов). Если он сначала загружает файл в txtResult, то добавляет строки, которые он хочет, это будет то же самое, что и «добавление» строк в конце, поскольку слово не имеет системы, основанной на событиях. – Dispersia

+0

@Dispersia нет, потому что .doc и .docx файлы не являются файлами открытого текста. .doc является проприорным форматом, а .docx - это переименованный .zip-файл с XML-файлами внутри него. Ни один из них не будет работать с 'File.WriteAllText'. –

0

Word предоставляет API COM, выполняет поиск Word Interop или Office Interop.

С помощью этого API вы можете начинать слова, загружать документ, добавлять в этот документ, например, в текущую позицию курсора и сохранять документ в новый файл.

+0

COM API немного устарел, обычно рекомендуется использовать [Open XML SDK] (https : //msdn.microsoft.com/en-us/library/office/bb448854.aspx), предоставленный Microsoft, а затем, если вам нужна функция, которая не поддерживает возврат к COM API. –

Смежные вопросы