Добавление коллекции переменных типа Variant в документ Word - C#

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

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

Написала кривой код по добавлению символов типа Variant в файл Word:
            Word.Application applic = new Word.Application();            
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                Word.Document wordDoc = new Word.Document();
                applic.Documents.Open(openFileDialog1.FileName);
                applic.Visible = true;
                wordDoc.Activate();
                var vc = worddoc.Variables.Count;
                MessageBox.Show(vc.ToString()); //для проверки
                wordDoc.Variables.Add("var1");
                var aaa = wordDoc.Variables[1].Name;
                var text = "Const";
                wordDoc.Variables["var1"].Value = text;
                aaa = wordDoc.Variables["var1"].Value;
                applic.Documents.Save();
                applic.Documents.Close();
                applic.Quit();
            }
Что делает приложение: Оно просит выбрать файл, при выборе открывает его, и всё. Ничего больше не происходит, ничего не меняется. Для сравнения попробовала написать вместо applic.Documents.Open(openFileDialog1.FileName); вот это:
                Object p_path = openFileDialog1.FileName;
                worddoc = app.Documents.Add(p_path);
Открывает выбранное как новый документ и тут же предлагает сохранить. Покорно сохраняю, прибавляя в названии число 1 в конце. Так меняется только размер свежесохраненного файла по сравнению с файлом исходником. При поиске "Const" в TC Lister ничего не находится, содержимое документа остается прежним. Размер файла уменьшается на 6000 байт, хотя по логике наоборот должен увеличиваться, если это горе-приложение все-таки куда-то что-то записывает. При выборе и сохранении файла, ранее уменьшенного на 6000 байт, новый документ увеличивается на 150 байт. Дальше уже не продолжала этот эксперимент. Кстати, MessageBox (тот, что //для проверки), выдает зеро. В связи с этим у меня созрел один единственный вопрос: "Почему?". А из него последовала еще парочка: -Какие именно косяки в коде? -Как правильно реализовать задачу и как исправить ошибки?

Решение задачи: «Добавление коллекции переменных типа Variant в документ Word»

textual
Листинг программы
    wordDoc = applic.Documents.Open(openFileDialog1.FileName);
    applic.Visible = true;
    wordDoc.Activate();
    wordDoc.Variables["val"].Value = "e.g.text";
    wordDoc.Fields.Update();
    wordDoc.Save();
    applic.Documents.Close();
    applic.Quit();

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


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

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

6   голосов , оценка 3.833 из 5
Похожие ответы