» Off-"Flitsservice" » Techniek   



 Pagina 1 van 1  [ 3 berichten ]
Jack.Ryan
FS Meldingen
 Bericht 
Kijk, iedereen heeft wel vragen over Excel, daar weet ik wel hoe ik een Workbook_Open() actie op moet starten, echter ExcelVBA en WordVBA werken toch weer net ff anders.

Ik heb een module die op het moment dat ik een document print het volgende doet:
Code:
Option Explicit

Public Sub UpdateCoCSerialNo()
    Dim varItem As DocumentProperty
    Dim bExists As Boolean
    Dim lCurrSeq As String
    Dim lPosLow As Single
    Dim Cnt As Single

    ' ensure our doc variable exists
    bExists = False
    For Each varItem In ActiveDocument.CustomDocumentProperties
        If varItem.Name = "CoC_Serial_Num" Then
            bExists = True
            Exit For
        End If
    Next varItem

    ' initialize document variable if doesn't exist
    If Not bExists Then
        ActiveDocument.CustomDocumentProperties.Add _
            Name:="CoC_Serial_Num", LinkToContent:=False, _
            Type:=msoPropertyTypeNumber, Value:=0
    End If

    'ask current document number
        lCurrSeq = ActiveDocument.CustomDocumentProperties("CoC_Serial_Num")
       
        Cnt = Val(lCurrSeq)
       
        Cnt = Cnt + 1
       
        lCurrSeq = CStr(Cnt)
        If Len(lCurrSeq) = 1 Then
            lCurrSeq = "00000" & Cnt
        ElseIf Len(lCurrSeq) = 2 Then
            lCurrSeq = "0000" & Cnt
        ElseIf Len(lCurrSeq) = 3 Then
            lCurrSeq = "000" & Cnt
        ElseIf Len(Cnt) = 4 Then
            lCurrSeq = "00" & Cnt
        ElseIf Len(Cnt) = 5 Then
            lCurrSeq = "0" & Cnt
        ElseIf Len(Cnt) = 6 Then
            lCurrSeq = Cnt
        End If
       
        ActiveDocument.CustomDocumentProperties("CoC_Serial_Num") = lCurrSeq
       
        ActiveDocument.Fields.Update
       
       
End Sub


Dan heb ik een Class Module waar deze functie wordt gestart.

Code:
Private Sub App_DocumentBeforePrint(ByVal Doc As Document, Cancel As Boolean)
    UpdateCoCSerialNo
End Sub


Dit werkt vanaf het moment dat ik in mijn document de macro:
Code:
Dim x As New EventClassModule

Sub Autoexec()
Set x.App = Word.Application
End Sub


die in module mdlEventconnect staat, "handmatig" opstart.

Maar dat wil ik niet, ik wil dat het focking ding bij openen van mijn document opgestart wordt.

Wie o wie weet het?

Jack.Ryan
FS Meldingen
 Bericht 
Hmmmm. Was dus toch niet zo moeilijk, gewoon:

Code:
Dim x As New EventClassModule

Sub Document_open()
Set x.App = Word.Application
End Sub


in ThisDocument geplaatst.

Jack.Ryan
FS Meldingen
 Bericht 
Oké, nu ander probleempje, ik heb een aantal Combobox Contentcontrols, daarmee wil ik een aantal plaintext contentcontrols aanpassen. hoe kan ik dat aanpakken met VBA?

 Pagina 1 van 1 [ 3 berichten ] 


Wie is er online

Leden op dit forum: Geen geregistreerde gebruikers en 1 gast


Je mag geen nieuwe onderwerpen in dit forum plaatsen
Je mag niet antwoorden op een onderwerp in dit forum
Je mag je berichten in dit forum niet wijzigen
Je mag je berichten niet uit dit forum verwijderen
Je mag geen bijlagen toevoegen in dit forum

Zoek…         
privacy policy