Word VBA — добавление даты и свойств документа в имя файла при сохранении

#vba #ms-word

#vba #ms-word

Вопрос:

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

В принципе, у меня есть документ Word (Office 365), который я хочу использовать при сохранении документа. Я хочу, чтобы имя файла было следующим: ТЕКУЩАЯ ДАТА и СТАТИЧЕСКИЙ ТЕКСТ И СВОЙСТВО ДОКУМЕНТА (ABSTRATC) и DOCUMENT_PROPERTY (AUTHOR)

  • ТЕКУЩАЯ ДАТА = гггг.мм.дд
  • СТАТИЧЕСКИЙ ТЕКСТ = просто пользовательский текст, который я добавляю и всегда буду, просто обычный текст.
  • СВОЙСТВО ДОКУМЕНТА (ABSTRATC) = В документе Word я добавил много полей «Свойства документа». В данном случае «Абстрактный». И я хочу, чтобы это было в имени файла.
  • DOCUMENT_PROPERTY(AUTHOR) = В документе Word я добавил много полей «Свойства документа». В данном случае «Автор». И я хочу, чтобы это было в имени файла.

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

Это то, что можно сделать?

введите описание изображения здесь

 Public Sub FileSave1()
    Dim xDlg As Dialog
    Dim xTitle As String
    On Error Resume Next
    xTitle = ActiveDocument.BuiltInDocumentProperties("Title").Value
    xTitle = xTitle amp; "" amp; Format((Year(Now()   1) Mod 100), "20##") amp; "." amp; _
        Format((Month(Now()   1) Mod 100), "0#") amp; "." amp; _
        Format((Day(Now()) Mod 100), "0#") amp; " Report - Firealarm - Building A"
    Set xDlg = Dialogs(wdDialogFileSaveAs)
    xDlg.Name = xTitle
    xDlg.Show
End Sub

 

Комментарии:

1. У вас уже есть код для получения значения встроенных свойств в опубликованном вами коде. Просто замените Title на имя свойства, значение которого вы хотите.

2. Спасибо, я увидел, что now xD раньше этого не делал. Просто делаю это, чтобы решить эту проблему. Теперь это работает.