Wie gehe ich beim Aufruf eines Benutzerformulars in VBA vor, wenn der Benutzer in MS Word auf die Schaltfläche Speichern klickt?UserForm beim Speichern aufrufen
0
A
Antwort
0
Siehe Intercepting events like Save and Print für ein Beispiel, das helfen sollte.
2
Sie haben zwei Möglichkeiten, das zu tun: Sie entweder die integrierte in FileSave
und FileSaveAs
Befehle außer Kraft setzen können, oder Sie können einen Ereignishandler für die DocumentBeforeSave
Veranstaltung Anwendung erstellen (die ein wenig mehr Arbeit zu tun).
die integrierten Befehle Aufschalten kann durch Zugabe von den folgenden Code an einen VBA-Modul durchgeführt werden (die Art des Benutzerformulars einzustellen entsprechend angezeigt werden):
' override File -> Save
Public Sub FileSave()
CustomSave
' call ActiveDocument.Save to actually save the document
End Sub
' override File -> Save As...
Public Sub FileSaveAs()
CustomSave
' call ActiveDocument.SaveAs to actually save the document
End Sub
Sub CustomSave()
Dim frm As New frmCustomSave
frm.Show
End Sub
kann die zweite Option implementiert werden Objekte den folgenden Code unter Microsoft Word platzieren ->Thisdocument im VBA-Editor:
Option Explicit
Private WithEvents wdApp As Word.Application
Private Sub Document_New()
Set wdApp = Word.Application
End Sub
Private Sub Document_Open()
Set wdApp = Word.Application
End Sub
Private Sub wdApp_DocumentBeforeSave(ByVal Doc As Document, SaveAsUI As Boolean, Cancel As Boolean)
Dim frm As New frmCustomSave
frm.Show
End Sub