Пользовательские свойства документа Word


На одном из компьютеров с Word 2003 не сохранялись пользовательские свойства документа, при этом никаких ошибок при работе процедуры не возникало.

Оказывается, при программном добавлении пользовательских свойств Word не считает, что документ был изменен. Поэтому, согласно рекомендациям Microsoft, перед сохранением документа необходимо установить значение свойства Document.Saved равным False.

Sub UpdateDocProperty(PropertyName As String, PropertyType As Byte, PropertyValue)
  Dim DocProps As DocumentProperties
  Dim DocProp As DocumentProperty

  Set DocProps = ActiveDocument.CustomDocumentProperties
  For Each DocProp In DocProps
    If LCase(DocProp.Name) = LCase(PropertyName) Then
      DocProp.Delete
      Exit For
    End If
  Next
  DocProps.Add PropertyName, False, PropertyType, PropertyValue
  ActiveDocument.Saved = False 'во избежание проблемы, описанной в KB195425
  ActiveDocument.Save
  Set DocProps = Nothing
End Sub
Реклама
Запись опубликована в рубрике software с метками , , . Добавьте в закладки постоянную ссылку.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s