Programm-Doku Man,Reg

Aus intern wiki
Zur Navigation springenZur Suche springen

Programm-Dokumentation ProMan / ProReg

[Bearbeiten]

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

Word-Aufgaben

[Bearbeiten]

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

[Bearbeiten]

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

[Bearbeiten]

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

[Bearbeiten]

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)

[Bearbeiten]

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