Обязательное поле перед сохранением документа Microsoft Word.
Public Sub FileSave()
Dim orng As Word.Range
Dim ofld As FormFields
Set orng = ActiveDocument.Range
Set ofld = orng.FormFields
For i = 1 To ofld.Count
ofld(i).Select
If ofld(i).Result = "" Then
MsgBox "Please ensure that all are filled."
Exit Sub
End If
Next i
ActiveDocument.Save
End Sub
Этот код запрещает сохранение документа без заполнения формы. Это не мешает пользователям сохранять документ в другом формате. Как мне изменить его, чтобы пользователи также не могли сохранить его как другой документ?
Чтобы обеспечить некоторый контекст, ранее у меня был другой код на уровне модуля, который запрещал пользователям сохранять документ в другом формате. Проблема также в том, что пользователи вообще не могут сохранить документ. Я пытаюсь найти решение, которое не позволит пользователям сохранять другое имя и / или формат и позволяет им сохранять документ только после заполнения всех обязательных полей. Если пользователи деактивируют макросы, документ для них практически бесполезен, так что это не проблема. Мой запрос относится к тому, когда пользователь включает макросы и получает доступ к документу
Private WithEvents App As Word.Application
Private Sub Document_Open()
Set App = Word.Application
End Sub
Private Sub App_DocumentBeforeSave(ByVal Doc As Document, SaveasUI As Boolean, Cancel As Boolean)
Cancel = True
MsgBox ("You are not allowed to save this file as another document")
End Sub