Programm-Doku Man,Reg

Aus intern wiki
Wechseln zu: Navigation, Suche

Programm-Dokumentation ProMan / ProReg

An dieser Stelle wird bei Gelegenheit beschrieben, wie Teile der Programme konstruiert wurden

Word-Aufgaben

Word-Aufgaben sind Leistungen, die in Word von ProMan/ProReg.dot auf Anforderung von ProMan/ProReg.mde (also aus Access) erbracht werden.

Dies sind die Erstellung von Dokumenten, die mit Daten aus der DB versorgt werden wie Pendenzlisten, Geschäftssammlungen und Vergabelisten

Pendenzlisten

Im Code der Formulare fPendenzen und fAktPendenzen werden in der Prozedur cmdPendListe_Click bzw. cmdWord_Click die gefragen Pendenzen in die DB-Tabelle tPendListe gespeichert. Mit Call WordAufgabe("Pendenzliste") wird die Erstellung der Liste angefordert.

Geschäftssammlung

Im Code des Formulars fGeschSammlung werden in der Prozedur cmdWordListe_Click die ausgewählten Geschäfte in die DB-Tabelle tGeschSammlung2 gespeichert. Mit Call WordAufgabe("Geschäftssammlung") wird die Erstellung der Liste angefordert.

Die Prozedur WordAufgabe

Sub WordAufgabe(sAufgabe As String) im Modul Aufrufe richtet Word ein und erstellt auf der Basis der Standardvorlage ProMan/ProReg.dot ein neues Dokument und ruft im mit diesem Dokument verbundenen ProMan/ProReg.dot über Run Prozedurname die der Aufgabe entsprechende Prozedur auf.

Wichtig ist, dass dabei keine speziellen Dokumentvorlagen mehr nötig sind.

Event-Handler beim Aktivieren des Protokolls (damit immer die Kdo-Zeile "isys" erscheint)

Neuer Klassenmodul clsWordApp mit Inhalt:

Public WithEvents appWord As Word.Application

Private Sub appWord_WindowActivate(ByVal Doc As Document, ByVal Wn As Window)

   Call Aktiviert

End Sub

Im Modul Funktionen:

Dim objClass As New clsWordApp

Sub Register_EventHandler()

   Set objClass.appWord = Word.Application

End Sub Sub Aktiviert()

   If ActiveDocument.Name Like fProt("") & "*" Then
       Call Kommandozeile("isys")
   End If

End Sub

In der Open-Prozedur

Private Sub Document_New()

   Application.CommandBars("isys").Enabled = True
   Register_EventHandler
   Call Aufgabe
   ActiveDocument.ActiveWindow.View.Type = wdPageView

End Sub

Private Sub Document_Open()

   Register_EventHandler
   Call Kommandozeile("isys")

End Sub