Как открыть word c

Обновлено: 06.07.2024

Рубрики

Свежие записи

Свежие комментарии

Архивы

1. Подключить нужные библиотеки
2. Открыть шаблон Word
3. Найти в нем нужное место
4. Вставить в него строку с информацией

1. Проект в студии у нас уже должен быть. В разделе Ссылки/References кликаем правой кнопкой, идем в "Добавить ссылку" и ищем Microsoft.Office.Interop.Word. В параметрах добавленной библиотеки ставим true в Копировать локально/Copy local, так как библиотеку надо копировать вместе с исполняемыми файлами проекта.

В код добавляем соответствующие using

2. Теперь вам предстоит провести много времени с замечательным интерфейсом Word, который представляет сам текстовый редактор и его потроха в виде разнообразных обьектов. Сейчас важны два - Application и Document. Переменные для них по ряду не очевидных причин лучше объявлять через интерфейсы.

Так же почти все функции Word требуют объектных параметров, даже если внутри них сидят простые строки и логические значения, так что лучше заранее сделать несколько оберток

Чтобы запустить Word и открыть в нем шаблон с диска (путь известен), потребуется примерно такой код

Принципиально важны два момента

1. Мы создаем неуправляемый ресурс, который не соберет сборщик мусора - отдельный процесс в памяти с приложением Word, если мы его не закроем и не выведем на экран, он так и останется там висеть до выключения компьютера. Более того такие ворды могут накапливаться незаметно для пользователя, программист-то еще прибьет их вручную. Заботиться о высвобождения неуправляемого ресурса должен программист.

2. По умолчанию Word запускается невидимым, на экран его выводим мы.

Для начала рассмотрим самый простой и примитивный вариант - поиск и замена строки в документе Word. Некоторые программисты так и работают - ставят в шаблон текстовую метку вроде @@nowDate и заменяют ее на нужное значение.

Пришло время познакомится с фундаментом работы с Word - великим и ужасным объектом Range. Его суть сложно описать словами -это некоторый произвольный кусок документа, диапазон (range), который может включать в себя все что угодно - от пары символов, до таблиц, закладок и прочих интересных вещей. Не стоит путать его с Selection - куском документа, выделенным мышкой, который само собой можно конвертировать в Range. Соотвественно нам надо получить Range для всего документа, найти нужную строку внутри него, получить Range для этой строки и уже внутри этого последнего диапазона заменить текст на требуемый. И не стоит забывать, что документ может иметь сложную структуру с колонтитулами и прочей ересью, возможный универсальный метод для замены всех вхождений данной строки:

На самом деле это не самый лучший метод для вставки информации в документ, так как могут возникнуть сложности с уникальными именами для текстовых меток (если текст одной входит в начало другой, данный метод найдет ее и заменит), их совпадением с произвольным текстом и так далее.

Даже если нам надо найти (и например отформатировать) именно строку с текстом внутри документа, лучше всего выдать наружу найденный Range и уже с ним производить разные злодеяния. Получим примерно такой метод:

Простейшее решение проблемы уникальности текста (нужно нам найти Range слова Word, но внутри всего документа оно встречается десятки раз) - искать строку внутри строки, сначала найти уникальную строку, потом не уникальную внутри нее, неэстетично, но дешево, надежно и практично.

Если строку надо просто заменить, то сойдет простейшее

Но так как Range является универсальный контейнером для любого куска документа Word, то его возможности неизмеримо шире, часть их будет рассмотрена в дальнейших заметках.

Если нам надо просто встать в начало документа (и что-то вставить уже туда):

Office 365 ProPlus переименован в Майкрософт 365 корпоративные приложения. Для получения дополнительной информации об этом изменении прочитайте этот блог.

Аннотация

В статье описываются способы выявления поврежденных документов в программе Word 2007 и ее более поздних версиях. Кроме того, в статье содержатся рекомендации по восстановлению текста и данных, содержащихся в выявленных поврежденных документах.

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

Обновление Microsoft Office и Windows

Многие проблемы с программным обеспечением могут быть решены путем обновления программ Microsoft Office и Windows.

Поврежденный документ или проблема с программным обеспечением?

Документ Word может быть поврежден по нескольким причинам, которые помешают вам открыть его. Такое поведение может быть вызвано повреждением документа или шаблона, на котором основан документ. Ниже перечислены некоторые типы такого поведения:

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

  1. Убедитесь, что подобное поведение не наблюдается при работе с другими документами. Попробуйте открыть другие документы Word, чтобы увидеть, возникает ли та же проблема. Если они открываются правильно, то проблема может быть с документом Word.
  2. Убедитесь, что подобное поведение не наблюдается при использовании других программ Microsoft Office. Если это так, то проблема может быть с другим приложением или операционной системой.

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

Действия при невозможности открытия поврежденного документа

Попробуйте способы в указанном порядке. Если один не работает, попробуйте следующий.

Способ 1. Откройте поврежденный документ в черновом режиме без поврежденных ссылок.

Шаг 1. Настройка Word

  1. Запустите Word.
  2. На вкладке Вид в группе Представления выберите Черновик.
  3. Выберите меню «Файл», затем щелкните Настройки и Дополнительно.
  4. В разделе Отобразить содержимое документа отметьте пункты Использовать шрифт черновика в режимах отображения «Черновик» и «Разметка» и Показывать замещающие рамки рисунков.
  5. Прокрутите вниз до раздела Общее, снимите флажок с Автоматически обновлять связи при открытии, нажмите OK и закройте Word.

Шаг 2. Откройте поврежденный документ

  1. Запустите Word.
  2. Выберите меню «Файл», затем Открыть.
  3. Щелкните поврежденный документ, затем выберите Открыть.

Если документ открыть невозможно, закройте его, затем снова откройте с помощью способа 6 и восстановите документ. В противном случае перейдите к способу 2.

Способ 2: Вставьте документ как файл в новый документ.

Шаг 1. Создание нового документа

Шаг 2. Вставьте поврежденный документ в новый документ

На вкладке Вставка нажмите Вставка объекта, затем выберите Текст из файла.

В диалоговом окне Вставка файла найдите и выберите поврежденный документ. Затем выберите Вставить.

Может потребоваться повторно применить форматирование к последнему разделу нового документа.

Способ 3: Создание ссылки на поврежденный документ

Шаг 1. Создание нового документа

  1. В Word откройте меню Файл, затем выберите Создать.
  2. Выберите Новый документ, затем Создать.
  3. В новом документе введите «Это проверка».
  4. Выберите меню «Файл», затем Сохранить.
  5. Введите «Ссылка спасения», затем Сохранить.

Шаг 2. Создание ссылки

  1. Выберите текст, введенный на шаге 1-3.
  2. На вкладке Главная в группе Буфер обмена щелкните Копировать.
  3. Выберите меню «Файл», затем Создать.
  4. Выберите Новый документ, затем Создать.
  5. На вкладке Главная в группе Буфер обмена щелкните стрелку рядом с кнопкой Вставить, затем выберите Специальная вставка.
  6. Щелкните Вставить связь, затем Форматированный текст (RTF).
  7. Нажмите OK.

Шаг 3. Изменение ссылки на поврежденный документ

Щелкните связанный текст правой кнопкой мыши, выберите команду Объект связанного документа, затем Связи.

В диалоговом окне Связи выберите имя файла связанного документа и нажмите Изменить источник.

В диалоговом окне Изменить источник выберите документ, который не удается открыть, и нажмите Открыть.

Нажмите OK, чтобы закрыть диалоговое окно Связи.

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

Щелкните связанный текст правой кнопкой мыши, выберите Объект связанного документа, затем Связи.

В диалоговом окне Связи нажмите кнопку Разорвать связь.

Способ 4: Использовать конвертер «Восстановление текста из любого файла»

У конвертера "Восстановление текста из любого файла" есть свои ограничения. Например, он не сохраняет форматирование документа. Кроме того, теряются все нетекстовые данные (рисунки, поля, графические объекты и прочие элементы). Поэтому верхние и нижние колонтитулы, сноски и текст полей сохраняются в виде обычного текста.

  1. В Word откройте меню «Файл», затем Открыть.
  2. В поле Тип файлов выберите Восстановление текста из любого файла(.).
  3. Выберите документ, текст которого необходимо восстановить.
  4. Выберите Открыть.

После восстановления документа с помощью конвертера «Восстановление текста из любого файла» некоторые двоичные данные не преобразовались. В основном это текст начала и конца документа. Необходимо удалить эти двоичные данные перед сохранения файла в качестве документа Word.

В пользовательском интерфейсе Word 2007 отсутствует кнопка «Файл». Вместо нее используйте кнопку Office и затем выполняйте необходимые указания.

Действия по устранению проблем, если поврежденный документ можно открыть

Способ 1. Скопируйте все содержимое, за исключением последнего знака абзаца, в новый документ.

Шаг 1. Создайте новый документ

  1. В Word откройте меню Файл на ленте и выберите пункт Создать.
  2. Выберите Новый документ, затем Создать.

Шаг 2. Откройте поврежденный документ

  1. Выберите меню «Файл» на ленте и выберите пункт Открыть.
  2. Щелкните поврежденный документ, затем выберите Открыть.

Шаг 3. Скопируйте содержимое документа и вставьте его в новый документ

Если документ содержит разрывы разделов, копируйте только текст между разрывами. Разрывы разделов не следует копировать, так как они могут повредить новый документ. При копировании и вставке между документами необходимо изменить вид документа на черновой режим, чтобы избежать переноса разрывов разделов. Для перехода в черновой режим на вкладке Вид в группе Представления документа щелкните Черновик.

  1. В поврежденном документе нажмите сочетание клавиш CTRL+END, затем нажмите сочетание клавиш CTRL+SHIFT+HOME.
  2. На вкладке Главная в группе Буфер обмена щелкните Копировать.
  3. На вкладке Вид в группе Окно щелкните Переключение окон.
  4. Щелкните новый документ, созданный в шаге 1.
  5. На вкладке Главная в группе Буфер обмена щелкните Вставить.

Если неисправность сохраняется, перейдите к способу 8.

Способ 2: Замените используемый документом шаблон

Шаг 1. Определите используемый документом шаблон

  1. Откройте поврежденный документ в приложении Word.
  2. Выберите меню «Файл» на ленте и выберите пункт Параметры.
  3. Выберите пункт Надстройки.
  4. В окне Управление щелкните Шаблоны в области Просмотр и управление надстройками Office.
  5. Выберите Выполнить. В окне Шаблон документа появится список шаблонов документа. Если отображенные шаблоны помечены как Обычный, перейдите к шагу 2. В противном случае перейдите к выполнению действия 3.

Шаг 2. Переименуйте общий шаблон (Normal.dotm)

  1. Закройте приложение Word.
  2. Нажмите Пуск.
  3. В своей операционной системе найдите normal.dotm. Этот шаблон обычно находится здесь: %userprofile%\appdata\roaming\microsoft\templates
  4. Щелкните правой кнопкой файл Normal.dotm и выберите Переименовать.
  5. Введите «Oldword.old» и нажмите клавишу ВВОД.
  6. Закройте проводник.
  7. Запустите приложение Word и откройте документ.

Шаг 3. Измените шаблон документа

Шаг 4. Проверьте изменение шаблонов.

  1. Запустите Word.
  2. Выберите меню «Файл» на ленте и выберите пункт Параметры.
  3. Щелкните поврежденный документ, затем выберите Открыть.

Если неисправность сохраняется, перейдите к способу 3.

Способ 3: Запустите программу Word с параметрами по умолчанию.

Для запуска Word с параметрами по умолчанию вы можете использовать параметр командной строки /a. При использовании параметра /a Word не загружает никакие надстройки. Кроме того, Word не использует имеющийся шаблон Normal.dotm. Перезапустите Word с помощью параметра /a.

Вариант 1. Запуск Word с параметром /a

Закройте приложение Word.

Нажмите Пуск и выберите пункт «Выполнить». В диалоговом окне «Выполнить» введите:

Этап 2. Открытие документа

  1. В Word откройте меню «Файл» на ленте и выберите пункт Открыть.
  2. Щелкните поврежденный документ, затем выберите Открыть.

Если неисправность сохраняется, перейдите к способу 4.

Способ 4: Изменение драйверов принтера.

Шаг 1. Попробуйте заменить драйвер принтера

  1. Найдите в вашей операционной системе меню «Устройства и принтеры».
  2. Нажмите Установка принтера.
  3. В диалоговом окне Установка принтера щелкните Добавить локальный принтер.
  4. Выберите Использовать существующий порт и нажмите кнопку Далее.
  5. В списке Изготовитель выберите Microsoft.
  6. Выберите Средство записи XPS-документов Microsoft и нажмите кнопку Далее.
  7. Выберите пункт Использовать уже установленный драйвер (рекомендуется) и нажмите кнопку Далее.
  8. Установите флажок Использовать в качестве принтера по умолчанию и нажмите кнопку Далее.
  9. Выберите Готово.

Шаг 2. Убедитесь, что изменение драйверов принтера привело к разрешению проблемы

  1. Запустите Word.
  2. Выберите меню «Файл» на ленте и выберите пункт Открыть.
  3. Щелкните поврежденный документ, затем выберите Открыть.

Если странное поведение не было устранено, перейдите к шагу 3.

Шаг 3. Переустановите исходный драйвер принтера.

Windows 10 и Windows 7

В своей операционной системе найдите «Принтеры».

Щелкните правой кнопкой мыши значок принтера по умолчанию и выберите команду Удалить.

Если система запросит пароль администратора или подтверждение, введите пароль или нажмите кнопку Продолжить.

Если будет предложено удалить все файлы, связанные с принтером, нажмите кнопку Да.

Щелкните Добавить принтер или сканер и следуйте инструкциям Мастера установки принтера для переустановки драйвера принтера.

Шаг 4. Убедитесь, что изменение драйверов принтера привело к разрешению проблемы

  1. Запустите Word.
  2. Выберите меню «Файл» на ленте и выберите пункт Открыть.
  3. Щелкните поврежденный документ, затем выберите Открыть.

Если неисправность сохраняется, перейдите к способу 5.

Способ 5. Попытка принудительного восстановления файла в Word.

Шаг 1. Восстановление документа

В Word откройте меню «Файл» на ленте и выберите пункт Открыть.

  1. В диалоговом окне Открыть выберите нужный документ Word.
  2. Щелкните стрелку рядом с кнопкой Открыть и выберите команду Открыть и восстановить.

Шаг 2. Убедитесь, что восстановление документа привело к разрешению проблемы

Убедитесь, что странное поведение больше не возникает. Если неисправность сохраняется, перезагрузите Windows и перейдите к способу 6.

Способ 6. Изменение формата документа с последующим преобразованием документа обратно в формат Word.

Шаг 1. Откройте документ

  1. Запустите Word.
  2. Выберите меню «Файл» на ленте и выберите пункт Открыть.
  3. Щелкните поврежденный документ, затем выберите Открыть.

Шаг 2. Сохраните документ в другом формате

  1. Откройте меню «Файл» на ленте и выберите пункт Сохранить как.
  2. Выберите Другие форматы.
  3. В списке Сохранение файла выберите Rich Text Format (*.rtf).
  4. Выберите Сохранить.
  5. Откройте меню «Файл» на ленте и выберите пункт Закрыть.

Шаг 3. Откройте документ, затем сконвертируйте его обратно в формат Word

  1. В Word выберите Файл, затем Открыть.
  2. Щелкните конвертированный документ, затем выберите Открыть.
  3. Выберите Файл, затем команду Сохранить как.
  4. Выберите Документ Word в поле Сохранить как.
  5. Переименуйте файл и нажмите Сохранить.

Шаг 4. Убедитесь, что конвертация формата файла решила проблему

Убедитесь, что странное поведение больше не возникает. Если проблема не устранена, попробуйте сохранить файл в другом формате. Повторите шаги 1 – 4, затем попробуйте сохранить файл в других форматах в следующем порядке:

  • Веб-страница (.htm; .html)
  • в любом другом формате обработки текста;
  • в формате обычного текста (TXT).

При сохранении файлов в формате Обычный текст (.txt) вы можете устранить повреждение документа. Однако все форматирование документа, все макросы и рисунки при этом теряются. При сохранении файлов в формате обычного текста (.txt) необходимо повторно форматировать документ. Поэтому формат Обычный текст (.txt) необходимо использовать только в том случае, если другие форматы не разрешают проблему.

Если неисправность сохраняется, перейдите к способу 7.

Способ 7. Скопируйте неповрежденные части поврежденного документа в новый документ.

Шаг 1. Создайте новый документ

  1. В Word выберите Файл и щелкните пункт Создать.
  2. Выберите Новый документ, затем Создать.

Шаг 2. Откройте поврежденный документ

  1. Выберите Файл, затем Открыть.
  2. Щелкните поврежденный документ, затем выберите Открыть.

Шаг 3. Скопируйте неповрежденные части поврежденного документа, а затем вставьте их в новый документ

Если документ содержит разрывы разделов, копируйте только текст между разрывами. Разрывы разделов не следует копировать, так как они могут повредить новый документ. При копировании и вставке между документами необходимо изменить вид документа на черновой режим, чтобы избежать переноса разрывов разделов. Для перехода в черновой режим на вкладке Вид в группе Представления документа щелкните Черновик.

  1. В поврежденном документе найдите и выделите неповрежденню часть содержания документа.
  2. На вкладке Главная в группе Буфер обмена щелкните Копировать.
  3. На вкладке Вид в группе Окно щелкните Переключение окон.
  4. Щелкните новый документ, созданный в шаге 1.
  5. На вкладке Главная в группе Буфер обмена щелкните Вставить.
  6. Повторите шаги 3a – 3e для всех неповрежденных частей документа. Необходимо воссоздать поврежденные части документа.

Способ 8. Переключите представление документа и удалите поврежденное содержимое

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

Определите номер страницы с поврежденным содержимым, из-за которого документ обрезается.

  1. В Word выберите Файл, затем Открыть.
  2. Щелкните поврежденный документ, затем выберите Открыть.
  3. Прокрутите документ до той страницы, после которой он обрезается. Запомните содержимое этой страницы.

Переключите представление документа и удалите поврежденное содержимое.

  1. На вкладке Вид в группе Представления документа выберите элемент Веб-документ или Черновик.
  2. Прокрутите документ и найдите содержимое, после которого он обрезается.
  3. Выделите и удалите следующий абзац, таблицу или объект.
  4. На вкладке Вид в группе Представления документа выберите элемент Режим разметки. Переключайте представления и удаляйте содержимое до тех пор, пока документ не отобразится в полном виде в представлении Режим разметки.
  5. Сохраните документ.

Способ 9: Откройте документ с помощью блокнота

Если документ поврежден и ни один из предыдущих способов не работает, попробуйте восстановить его содержимое, открыв документ с помощью блокнота.

Используя этот метод, вы потеряете все форматирование. Целью является восстановление содержимого.

  1. Найдите поврежденный документ с помощью проводника Windows.
  2. Щелкните документ правой кнопкой мыши и выберите Открыть с помощью.
  3. Выберите Блокнот:

Снимок экрана при открытии документа Word в блокноте.

Документ откроется в Блокноте с дополнительным кодом и текстом вокруг содержимого.

Возможно, вам придется изменить тип файла с Текстовые документы (.txt) на Все файлы (.*).

Очистите текст, удаляя все или большинство дополнительных знаков.

Выберите Файл, затем Сохранить как. . Переименуйте документ, чтобы гарантировать, что вы не перезаписали поврежденный.

Вернитесь к Word и откройте новый документ. Как только документ открыт в Word, вы можете очистить его и попытаться повторно применить утерянный формат.

Подскажите как в richTextBox отобразить содержимое файлов с расширением doc и docx ? С txt файлами всё нормально, а при открытии doc вылазят кракозябры, типо PK. Задача состоит в том, что есть задание написать программу для ведения своего дневника. Соответственно нужно сделать, чтобы была возможность открывать уже сохранённые записи со всем содержимым:форматированием текста, картинками и тд. Выводить всё это содержимое хочу, соответственно, в richTextBox.

не забывайте метку WinForms, хоть по вашему коду это видно, но тем не менее. docx файл надо либо открыть вордовой библиотекой либо конвертировать в txt

Дайте себе труд хотя бы попробовать поискать на английском: load word file (.docx) in richtextbox

Копирую оттуда код:

Может быть это и не будет идеальный результат, который вас полностью устроит, но с ним ваш вопрос не будет таким поверхностным.


Спасибо большое. Мой технический английский плоховат и я не всегда понимаю нашел ли я точно то, что мне нужно.

Как уже выше писали, необходима конвертация в формат RTF.

DOC - Бинарный формат, с весьма сложной структурой. Библиотеки, не требующие офиса для работы с ним, продают за большие деньги. Есть пара бесплатных. ОДна опенсорс - порт с джавовской либы POI. Вторая Spire DOC, имеет кучу ограничений на количество обрабатываемого текста.

DOCX - Архив с набором XML-файлов. Есть библиотека от майкрософт OpenXML, которая отлично справляется с docx файлами. Но она немного сложновата для освоения и чаще всего используют оболочку над ней - ClosedXML. Обе библиотеки бесплатные и не требуют установленного офиса. Или можно использовать кучу других бесплатных библиотек для работы с docx. Все они легко ставятся через nuget.

COM Interop, описанный выше, идеально подходит, если стоит офис. Он "из коробки" поддерживает все форматы и прекрасно конвертирует.

Если же офис может отсутствовать, то я бы посоветовал использовать или POI или связку POI/OpenXML.

И надо помнить, что RTF сильно отличается от DOC/DOCX, и результат может отличаться от того, что вы видите MS Word. Потому, если цель - просмотр документов, я бы посоветовал конвертацию в HTML.

В общем, при открытии документа я заметил, что может происходить 2 проблемы:

1)Если документ кем-то открыт, то появится диалог, открыть ли документ в режиме ReadOnly.

2)Если документ поврежден, то не программа зависается, хотя на самом деле вылетает невидимый диалог "Документ при открытии кританул серьезной ошибкой, открыть?"

Как можно решить данные проблемы? В первой случае хочу, что бы диалога не было и он открывался в ReadOnly, а во втором повесить какой-нибудь TimeOut, что бы по его истечению переходить к открытию следующего документа, либо так же, что бы ответ был ДА.


24.1k 8 8 золотых знаков 48 48 серебряных знаков 135 135 бронзовых знаков

В первом случае хочу, что бы диалога не было и он открывался в ReadOnly

У Documents.Open есть аргумент ReadOnly с помощью которого можно сразу открывать для чтения:

во втором повесить какой-нибудь TimeOut, что бы по его истечению переходить к открытию следующего документа, либо так же, что бы ответ был ДА.

Чтобы ответ был «да» можно попробовать отключить флагами все возможные подтверждения при открытии:


18.2k 4 4 золотых знака 27 27 серебряных знаков 42 42 бронзовых знака

Не уверен, что помогу своим ответом.
Тем более, что из твоих тегов я знаю только слово Ворд и то - конвейера 2003 года :)

Я давно делал так, пытаясь изолироваться от всех этих внутренних механизмов Офиса, - пытался открыть файл на запись.
Если не получалось, то:
- откладывал до поры, или .
- предпринимал действия, чтобы его закрыли, или .
- пытался открыть на чтение - это должно всегда всегда получаться - и по ОК копировал его в другое место. Там с ним и работал. Потом возвращал, измененный, взад.

Есно, что "открыть на чтение-запись" - не Вордом, а встроенными средствами VB(A).

В твоем случае (тем более, что ты акцентируешься на "Если документ поврежден") - сам бог велел работать с ним в песочнице. Да и поиметь походу резервную копия при этом на всякий пожарный. .

Читайте также: