
У меня есть документ Word, к которому другие пользователи могут получить доступ и изменить его (на том же компьютере).
В верхней части этого документа есть строка «Версия № XXX».
Мне бы хотелось иметь возможность запустить макрос, который увеличит XXX на 1 и сохранит документ.
Возможно ли это? Как?
решение1
Вы можете создать свойство документа, называемое (скажем) Revision. Затем вы сможете отобразить его в поле, и ваш код сможет читать и писать в него через:
myDocument.CustomDocumentProperties("Revision").Value
решение2
Если кому-то интересно, вот ответ, который я нашел.
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
Он отлично подходит для того, что я искал.