Как сделать чтобы замена текста в WORD производилась по всему документу - C#

Узнай цену своей работы

Формулировка задачи:

Сделал программу для выгрузки текста в шаблон Word с переменными. Как сделать чтобы все переменные в текте заменялись? получается что переменная {doc} в самом верху заменилась, а все остальные переменные {doc} которые ниже остались неизменными.
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8. using System.IO;
  9. using Word = Microsoft.Office.Interop.Word;
  10. namespace WindowsFormsApplication9
  11. {
  12. public partial class Form1 : Form
  13. {
  14. private readonly string TemplateFileName = @"C:\Шаблоны\Договор.doc";
  15. public Form1()
  16. {
  17. InitializeComponent();
  18. }
  19. private void button1_Click(object sender, EventArgs e)
  20. {
  21. var kontr = textBox1.Text;
  22. var dog = textBox2.Text;
  23. var data1 = dateTimePicker1.Text;
  24. var data2 = dateTimePicker2.Text;
  25. var ruk = comboBox1.Text;
  26. var f = textBox3.Text;
  27. var i = textBox4.Text;
  28. var o = textBox5.Text;
  29. var datar = dateTimePicker3.Text;
  30. var gr = comboBox2.Text;
  31. var prbez = comboBox3.Text;
  32. var izj = comboBox4.Text;
  33. var datab = dateTimePicker4.Text;
  34. var dataot = dateTimePicker5.Text;
  35. var datado = dateTimePicker6.Text;
  36. var prof = textBox8.Text;
  37. var chas = textBox9.Text;
  38. var summa = textBox10.Text;
  39. var richtext = richTextBox1.Text;
  40.  
  41. //TODO: Word Export
  42. var wordApp = new Word.Application();
  43. wordApp.Visible = false;
  44. try
  45. {
  46. var wordDocument = wordApp.Documents.Open(TemplateFileName);
  47. ReplaceWordStub("{dog}", dog, wordDocument);
  48. ReplaceWordStub("{kontr}", kontr, wordDocument);
  49. ReplaceWordStub("{data1}", data1, wordDocument);
  50. ReplaceWordStub("{data2}", data2, wordDocument);
  51. ReplaceWordStub("{ruk}", ruk, wordDocument);
  52. ReplaceWordStub("{f}", f, wordDocument);
  53. ReplaceWordStub("{i}", i, wordDocument);
  54. ReplaceWordStub("{o}", o, wordDocument);
  55. ReplaceWordStub("{datar}", datar, wordDocument);
  56. ReplaceWordStub("{gr}", gr, wordDocument);
  57. ReplaceWordStub("{prbez}", prbez, wordDocument);
  58. ReplaceWordStub("{izj}", izj, wordDocument);
  59. ReplaceWordStub("{datab}", datab, wordDocument);
  60. ReplaceWordStub("{dataot}", dataot, wordDocument);
  61. ReplaceWordStub("{datado}", datado, wordDocument);
  62. ReplaceWordStub("{prof}", prof, wordDocument);
  63. ReplaceWordStub("{chas}", chas, wordDocument);
  64. ReplaceWordStub("{summa}", summa, wordDocument);
  65. ReplaceWordStub("{richtext}", richtext, wordDocument);
  66. wordDocument.SaveAs(@"c:\result.doc");
  67. wordApp.Visible = true;
  68. }
  69. catch
  70. {
  71. MessageBox.Show("Произошла ошибка");
  72. }
  73. }
  74. private void ReplaceWordStub(string StubToReplace, string text, Word.Document wordDocument)
  75. {
  76. var range = wordDocument.Content;
  77. range.Find.ClearFormatting();
  78. range.Find.Execute(FindText: StubToReplace, ReplaceWith: text);
  79. }
  80. }
  81. }

Решение задачи: «Как сделать чтобы замена текста в WORD производилась по всему документу»

textual
Листинг программы
  1. //Открываем
  2.                 var dialog = new OpenFileDialog()
  3.                              {
  4.                                  Filter = "Word файлы(*.docx)|*.docx",
  5.                                  Title = "Открыть Wprd файл",
  6.                              };
  7.                 if (dialog.ShowDialog() == DialogResult.OK)
  8.                 {
  9.                 var wordApp = new Word.Application;
  10.                 var wordDocument = wordApp.Documents.Open(dialog.FileName);
  11.                 }
  12.  
  13. //сохраняем
  14.                 var dialog = new SaveFileDialog
  15.                              {
  16.                                  Filter = "Word files (*.doc)|*.doc",
  17.                                  Title = "Сохранить документ как Word-файл"
  18.                              };
  19.  
  20.             if (dialog.ShowDialog() == DialogResult.OK)
  21.             {
  22.                 wordDocument.SaveAs(dialog.FileName);
  23.              }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.182 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы