首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Word VBA -如果人们没有使用DocumentBeforeSave填写必需的字段,如何阻止他们保存表单?

Word VBA -如果人们没有使用DocumentBeforeSave填写必需的字段,如何阻止他们保存表单?
EN

Stack Overflow用户
提问于 2020-06-24 20:40:14
回答 1查看 172关注 0票数 0

我目前正在做一个表单,如果没有填写所有必需的字段,我将尝试阻止一个人执行“保存为”或“保存”。下面的例子只是一个工程师名称的字段。这样做的意图是,如果用户在本例中没有填写名为"EngName“的表单字段,那么文档将显示一个错误消息"Save,EngName”。我想我已经很接近了,但是我不认识VBA,我希望能得到任何帮助。

代码语言:javascript
复制
Public 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)
    With ActiveDocument.FormFields("EngPhone")
       If Len(.Results) < 1 Then Cancel = True
           MsgBox ("Save Cancelled, Engineer Name Required")
       End If
    End With
End Sub
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-24 22:30:57

尝试:

代码语言:javascript
复制
Private Sub wdApp_DocumentBeforeSave(ByVal Doc As Document, SaveAsUI As Boolean, Cancel As Boolean)
If Trim(ActiveDocument.FormFields("EngPhone").Result) = "" Then
  Cancel = True
  MsgBox ("Save Cancelled, Engineer Name Required")
End If
End Sub

您需要将上述代码添加到“ThisApplication”类模块中,并且仍然需要实例化代码,这是一个普通的代码模块。有关更多详细信息,请参见:https://wordmvp.com/FAQs/MacrosVBA/AppClassEvents.htm

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62563742

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档