Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Исправление настраиваемых свойств документов в Word с использованием Delphi

Delphi , Компоненты и Классы , Свойства и События

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

Проблема с сохранением свойств

При попытке обновить настраиваемые свойства документов в Word через Delphi, пользователи могут столкнуться с проблемой, когда после сохранения файла и его закрытия, свойства не сохраняются в документе. Это может быть связано с некорректным порядком выполнения операций по сохранению изменений.

Описание решения проблемы

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

Пример кода на Object Pascal (Delphi)

var
  Doc: OleVariant;
  DocProps: OleVariant;
  Item: OleVariant;
  i: Integer;
  Value: string;
begin
  // Код для открытия документа Word
  WordApplication1.Connect;
  WordApplication1.Visible := False;
  // Остальная часть кода для открытия документа...

  Doc := WordApplication1.ActiveDocument;
  DocProps := Doc.CustomDocumentProperties;

  if DocProps.Count = 0 then begin
    // Добавление новых свойств
    DocProps.Add(
      'MyOpinionOfThisDocument2',
      False, msoPropertyTypeString,
      'Utter drivel', EmptyParam);
    DocProps.Add(
      'Mz_Ident2',
      False, msoPropertyTypeString,
      '1997', EmptyParam);
  end;

  // Установка флага, что документ не был сохранен
  Doc.Saved := False;

  // Перебор свойств для демонстрации
  for I := 1 to DocProps.Count do begin
    Item := DocProps.Item[I];
    // Код для работы со свойствами...
  end;

  // Сохранение документа перед закрытием
  Doc.Save;
  // Закрытие Word
  WordApplication1.Quit;
  WordApplication1.Disconnect;
end;

Важные моменты

  • При добавлении новых свойств важно убедиться, что они не существуют уже в документе.
  • После добавления или изменения свойств необходимо вручную установить флаг Doc.Saved в False.
  • Операция Doc.Save должна быть вызвана перед закрытием документа, чтобы гарантировать сохранение изменений.

Следуя этим рекомендациям, вы сможете корректно работать с настраиваемыми свойствами документов Word в среде Delphi.

Создано по материалам из источника по ссылке.

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


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Свойства и События ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-02-05 09:47:56/0.003403902053833/0