Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
596to600
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
596to600
596to600
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

xy.PrintForm aber mit Hochformat

xy.PrintForm aber mit Hochformat
12.04.2005 09:04:34
ray
Hallo,
mit PrintForm drucke ich eine UF aus. Leider kommt das immer im querformat heraus. Wie kann ich mit code einstellen, daß der drucker hochformat drucken soll.
ich habe schon mal mit dem macrorecorder probiert, liefert aber keine brauchbaren Ergebnisse.
Viele Grüße aus dem sonnigen Norden bei erfrischenden 10 Grad und noch guter Laune
ray

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: xy.PrintForm aber mit Hochformat
12.04.2005 11:09:33
Nepumuk
Hallo ray,
folgendes Makro in ein Standardmodul:


Option Explicit
Private Declare Function GetVersionEx Lib "kernel32.dll" Alias "GetVersionExA" ( _
     ByRef lpVersionInformation As OSVERSIONINFO) As Long
Private Declare Function MapVirtualKey Lib "user32.dll" Alias "MapVirtualKeyA" ( _
     ByVal wCode As Long, _
     ByVal wMapType As LongAs Long
Private Declare Sub keybd_event Lib "user32.dll" ( _
     ByVal bVk As Byte, _
     ByVal bScan As Byte, _
     ByVal dwFlags As Long, _
     ByVal dwExtraInfo As Long)
Private Type OSVERSIONINFO
    dwOSVersionInfoSize As Long
    dwMajorVersion As Long
    dwMinorVersion As Long
    dwBuildNumber As Long
    dwPlatformId As Long
    szCSDVersion As String * 128
End Type
Private Enum Constants
    KEYEVENTF_KEYUP = &H2
    VK_MENU = &H12
    lngMargin = &H1 'Breite der Seitenränder in cm
End Enum
Public Sub prcPrintForm(strFrmName As String)
    Dim typVerinfo As OSVERSIONINFO
    Dim bolNT As Boolean
    Dim intAltScan As Integer, intIndex As Integer
    Dim lngMode As Long
    Application.ScreenUpdating = False
    typVerinfo.dwOSVersionInfoSize = Len(typVerinfo)
    If GetVersionEx(typVerinfo) <> 0 Then bolNT = typVerinfo.dwPlatformId = 2
    lngMode = 1
    If Not bolNT Then lngMode = 0
    If bolNT And lngMode = 0 Then
        keybd_event vbKeySnapshot, 0&, 0&, 0&
    Else
        intAltScan = MapVirtualKey(VK_MENU, 0)
        keybd_event VK_MENU, intAltScan, 0, 0
        DoEvents
        keybd_event vbKeySnapshot, lngMode, 0&, 0&
    End If
    DoEvents
    keybd_event VK_MENU, intAltScan, KEYEVENTF_KEYUP, 0
    ThisWorkbook.Worksheets.Add
    Rows.RowHeight = 3
    Columns.ColumnWidth = 0.83
    With ActiveSheet
        .Paste
        With .PageSetup
            .Orientation = IIf(UserForms.Add(strFrmName).Width > _
                UserForms.Add(strFrmName).Height, 2, 1)
            .LeftMargin = Application.CentimetersToPoints(lngMargin)
            .RightMargin = Application.CentimetersToPoints(lngMargin)
            .TopMargin = Application.CentimetersToPoints(lngMargin)
            .BottomMargin = Application.CentimetersToPoints(lngMargin)
            .HeaderMargin = Application.CentimetersToPoints(0)
            .FooterMargin = Application.CentimetersToPoints(0)
            .CenterVertically = True
            .CenterHorizontally = True
            .Zoom = 10
            For intIndex = 1 To 3
                Do Until ExecuteExcel4Macro("Get.Document(50)") > 1
                    .Zoom = .Zoom + Choose(intIndex, 50, 10, 1)
                Loop
                .Zoom = .Zoom - Choose(intIndex, 50, 10, 1)
            Next
        End With
        .PrintOut
        Application.DisplayAlerts = False
        .Delete
        Application.DisplayAlerts = True
    End With
    Application.ScreenUpdating = True
End Sub


Der Aufruf aus dem Userform heraus lautet:


Call prcPrintForm(Me.Name)


Gruß
Nepumuk
Anzeige
AW: xy.PrintForm aber mit Hochformat
12.04.2005 11:54:56
ray
Hallo Nepumuk und danke ersteinmal,

bis ich verstehe, was der code macht brauche ich eine Woche...
Gehe ich recht in der annahme, daß es keine geringere lösung für mein problem gibt. wenn ich den code richtig überblicke definierst du das ausdruckaussehen der uf. Ich dachte man könnte nur den button in den druckereinstellungen von hoch auf querformat setzen.
viele grüße immer noch sonnig und ohne wind schon schön warm...
ray
AW: xy.PrintForm aber mit Hochformat
12.04.2005 12:03:22
Nepumuk
Hallo ray,
>
Du gehst recht.
Das Programm mach eine Kopie des Userforms (Alt+Print Screen) und fügt sie in eine Tabelle als Bild ein. Dann wird die größe des Ausdrucks optimiert.
Gruß
Nepumuk
Anzeige
AW: xy.PrintForm aber mit Hochformat
12.04.2005 12:30:13
ray
hi,
na, da werd ich schön langsam gehen müssen... :-)
gibt es eine möglichkeit dem drucker zu sagen, egal was kommt, druck es im hochformat?
Grüße Ray, der jetzt mittag macht, also geht...
AW: xy.PrintForm aber mit Hochformat
12.04.2005 12:36:20
Nepumuk
Hallo ray,
die Zeile steuert das:
.Orientation = IIf(UserForms.Add(strFrmName).Width &gt _
UserForms.Add(strFrmName).Height, 2, 1)
Kommentiere sie aus oder lösche sie.
Gruß
Nepumuk
AW: xy.PrintForm aber mit Hochformat
12.04.2005 13:20:53
ray
hmm, so what,
ich habe von hans gelernt, daß ich dem drucker sagen kann, von welchem Fach er drucken soll. Das muß doch auch mit der Eigenschaft hochformat gehen. Dein Code ist mir noch zu schwer. ich denke, daß ich erst den drucker einrichte und dann befehlte printform.
Hast Du ne Idee, wie ich es dem lpt sage?
Viele Grüße und danke für Deine Geduld
ray
Anzeige
AW: xy.PrintForm aber mit Hochformat
12.04.2005 13:43:14
Nepumuk
Hallo ray,
wenn das so einfach wäre, hätte ich mir die Mühe mit dem Programm nicht machen müssen. Es gibt keine andere Möglichkeit. Oder bekommst du einen Dialog angezeigt, auf den man zugreifen könnte?
Gruß
Nepumuk
AW: xy.PrintForm aber mit Hochformat
12.04.2005 15:27:28
ray
hmm, dialog anzeigen? kann man die inkeyMethode im hintergrund also nicht sichtbar laufen lassen?

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige