Samstag, 4. Februar 2012

Home
Tipps
Bücher
Software
News / Links
Hilfe
Impressum

Sponsored by
QualityHosting

Tipp/Trick
Seitenformat via VBA einstellen
Das Seitenformat eines Berichts kann über das Dialogfenster "Datei>Seiten einrichten" getrennt für jeden Bericht angegeben werden. Mit Hilfe einer "Berichtseigenschaft" können Sie diese Einstellungen auch von VBA aus vornehmen.

Hierbei spielt eine Datenstruktur namens DEVMODE eine wichtige Rolle, in der die Seitenoptionen durch einzelne Elemente repräsentiert werden. Die Struktur muss auf die folgende Weise im Dekalrationsbereich eines Standardmoduls deklariert werden:

Type strDEVMODE
    RGB As String * 94
End Type

Type strctDEVMODE
    dmDeviceName As String * 16
    dmSpecVersion As Integer
    dmDriverVersion As Integer
    dmSize As Integer
    dmDriverExtra As Integer
    dmFields As Long
    dmOrientation As Integer
    dmPaperSize As Integer
    dmPaperLength As Integer
    dmPaperWidth As Integer
    dmScale As Integer
    dmCopies As Integer
    dmDefaultSource As Integer
    dmPrintQuality As Integer
    dmColor As Integer
    dmDuplex As Integer
    dmResolution As Integer
    dmTTOption As Integer
    dmCollate As Integer
    dmFormName As String * 16
    dmPad As Long
    dmBits As Long
    dmPW As Long
    dmPH As Long
    dmDFI As Long
    dmDFr As Long
End Type

Mit Hilfe dieser Struktur wechselt die folgende Prozedur die Papierausrichtung des Berichtes vom Hoch- ins Querformat (oder umgekehrt):

 

DoCmd.SetWarnings True

Sub AusrichtungWechseln(Berichtname As String)

Const DM_HOCHFORMAT = 1
Const DM_QUERFORMAT = 2

Dim DeviceStrng As strDEVMODE   'die Zeichenfolge
Dim DeviceMode As strctDEVMODE  'die Struktur
Dim DeviceModeExtra As String   'TMP Zeichenfolge für DEVMODE
Dim rpt As Report

  'Bericht in Entwurfsansicht öffnen
  DoCmd.OpenReport Berichtname, acDesign

  Set rpt = Reports(Berichtname)
 
  If Not IsNull(rpt.PrtDevMode) Then
   
    'DEVMODE-Struktur abfragen
    DeviceModeExtra = rpt.PrtDevMode
   
    'PrtDevMode ist genau 94 Bytes lang
    DeviceStrng.RGB = DeviceModeExtra
   
    'Zeichenfolge der Struktur zuweisen
    LSet DeviceMode = DeviceStrng
   
    DeviceMode.dmFields = DeviceMode.dmFields _
                          Or DeviceMode.dmOrientation
   
    'Ausrichtung wechseln
    If DeviceMode.dmOrientation = DM_HOCHFORMAT Then
      DeviceMode.dmOrientation = DM_QUERFORMAT
    Else
      DeviceMode.dmOrientation = DM_HOCHFORMAT
    End If
   
    'Eigenschaft aktualisieren.
    LSet DeviceStrng = DeviceMode
   
    'die Struktur der Zeichenfolge zuweisen
    Mid$(DeviceModeExtra, 1, 94) = DeviceStrng.RGB
   
    'in Bericht zurückschreiben
    rpt.PrtDevMode = DeviceModeExtra
 
  End If

End Sub


Ein Service der TriniDat Software-Entwicklung GmbH - Am Wehrhahn 45 - 40211 Düsseldorf

  Suche
Suche starten
  Service
Leserbrief / Frage zu Access
Kontakt
  NewsLetter
NewLetter bestellen
NewsLetter abbestellen
  Partner-Seiten
HyperLink

www.trinidat.de


HyperLink

www.fulldotnet.de