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.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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.