У меня есть документ Word, к которому другие пользователи могут обращаться и изменять (на том же компьютере).

В верхней части этого документа находится строка с надписью «Версия № XXX».

Я хотел бы иметь возможность запускать макрос, который увеличит XXX на 1 и сохранит документ.

Это возможно? Как?

2 ответа2

1

Вы можете создать свойство документа с именем (скажем) Revision. После этого вы сможете отобразить его в поле, и ваш код сможет читать и записывать его через:

myDocument.CustomDocumentProperties("Revision").Value
1

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

1/ Вставьте поле (CTRL+F9) как "{DOCVARIABLE VNUM}"

2/ Создайте макрос со следующим кодом:

    Sub IncrementVersion()

    On Error Resume Next
    With ActiveDocument
        .Variables.Add ("VNUM")
        On Error GoTo 0
        If IsNumeric(.Variables("VNUM")) = False Then
            .Variables("VNUM") = 1
        Else
            If .Saved = False Then
                .Variables("VNUM") = .Variables("VNUM") + 1
                Else
                    If MsgBox("No changes", vbOKCancel) = vbCancel Then
                    Exit Sub
                    Else
                    'nothing
                End If
            End If
        End If
        .Fields.Update
        .Save
        .Close
    End With
    End Sub

Это прекрасно работает для того, что я искал.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .