14. juni 2004 - 14:10Der er
5 kommentarer og 3 løsninger
VBA kode, som gør at dokument ikke bliver lukket
Jeg tester om et dokument er på mere end 1 side, såfremt dette er tilfældet, må dokumentet ikke lukkes. Der skal fremkomme en msgbox, som gør brugeren klart, at dokumentet skal tilrettes.
Jeg benytter et autoclose-modul
Private Sub Main() Dim Rc As Integer If Selection.Information(wdNumberOfPagesInDocument) > 1 Then Rc = MsgBox("Forsiden må kun være på 1 side - tilret forsiden", 5 + 16, "Antal sider - forkert") End If Selection.EscapeKey End Sub
Hvordan kan jeg undgå, at den almindelige lukke-dialogbox vises? Eller har nogen en anden ide, så er jeg meget interesseret. Benytter OfficeXP.
Så må vi den hårde vej og selv oprette en close event... Det gøres således
1 .Opret et classemodul i dit document (altså i VBA) 2. Kald modulet "ThisApplication" 3. Indsæt følgende i modulet:
Public WithEvents oApp As Word.Application Sub oApp_DocumentBeforeClose(ByVal Doc As Document, Cancel As Boolean)
Dim Rc As Integer If Selection.Information(wdNumberOfPagesInDocument) > 1 Then Rc = MsgBox("Forsiden må kun være på 1 side - tilret forsiden", 5 + 16, "Antal sider - forkert") Cancel = True End If Selection.EscapeKey
End Sub
4. Indsæt følgende i et almindeligt modul i dit dokument:
Option Explicit
Dim oAppClass As New ThisApplication
Public Sub AutoOpen() Set oAppClass.oApp = Word.Application End Sub
Det fungerer perfekt - når jeg kører selve .dot-filen. Så kommer det berømte men - jeg har en menu, som kalder denne skabelon, dvs. der dannes en doc altså f.eks. "Dokument 2", her fungerer det ikke.
Der bliver ikke testet først om dokumentet er på 2 eller mere sider, den spørger bare om jeg vil gemme "Dokument 2", så da slår funktionen ikke igennem. Har du en god ide til det også?
Fejl - undskyld - hvorfor kom den som afvist, RVM skulle have sine point, det havde jeg accepteret?
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.