Ошибка при сохранении docx файла

221
18 августа 2021, 03:50

Здравия. Делаю простой редактор docx файлов (только текст). При попытке сохранить файл вылезает ошибка: System.Runtime.InteropServices.COMException: 'Приложению Word не удалось сохранить данный файл, так как он используется другим процессом.

Код функции сохранения:

    Word._Application app = new Word.Application();
    Word._Document word_doc = app.Documents.Add(ref oMissing, ref oMissing, ref oMissing, ref oMissing);
    Word.Paragraph para = word_doc.Paragraphs.Add(ref oMissing);
    para.Range.Text = text_editor.Text;
    para.Range.InsertParagraph();
    object filename = def_save_path;
    word_doc.SaveAs2(ref filename, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
        ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
        ref oMissing, ref oMissing);
    object save_changes = false;
    word_doc.Close(ref save_changes, oMissing, oMissing);
    app.Quit(ref save_changes, oMissing, oMissing);
    changed = false;
Answer 1

Пример для работы с OpenXML из документации, для его работы необходимо установить nuget пакет DocumentFormat.OpenXml

public static void CreateWordprocessingDocument(string filepath)
{
    // Create a document by supplying the filepath. 
    using (WordprocessingDocument wordDocument =
        WordprocessingDocument.Create(filepath, WordprocessingDocumentType.Document))
    {
        // Add a main document part. 
        MainDocumentPart mainPart = wordDocument.AddMainDocumentPart();
        // Create the document structure and add some text.
        mainPart.Document = new Document();
        Body body = mainPart.Document.AppendChild(new Body());
        Paragraph para = body.AppendChild(new Paragraph());
        Run run = para.AppendChild(new Run());
        run.AppendChild(new Text("Create text in body - CreateWordprocessingDocument"));
    }
}

Результат

READ ALSO
Все запросы возвращают 404 not found

Все запросы возвращают 404 not found

Пытаюсь настроить aspnet mvc + angularjs приложение

116
Задание C# с помощью структур

Задание C# с помощью структур

//Помогите реализовать код,чтобы пользователь мог добавлять,редактировать,удалять данные и может быть мою структуру можно правильнее записать?

163
Как изменить Material на обьекте с двумя Material(Unity)

Как изменить Material на обьекте с двумя Material(Unity)

Я создал небольшую модель в Blender 3D и у этой модели есть два материалаЭкспортировал ее в

190
Скрипт генерации мира не соединяет объекты

Скрипт генерации мира не соединяет объекты

Я написал скрипт генерации воксельного мира, в котором после генерации площяди, скрипт соединяет 1 чанк в 1 мешНо этого не происходит т

401