Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

Print Form | Herbers Excel-Forum


Betrifft: Print Form von: Gunter
Geschrieben am: 07.12.2009 16:39:16

Hallo Zusammen,

ich habe eine ziemlich aufwendige UserForm zum drucken programmiert. Bisher war es so, dass der Ausdruck auf einzelne Etiketten erfolgte. Nun soll das Ganze auf A4 Papier in einer bestimmten Formatierung erfolgen.
Meine Frage ist es möglich statt mit Me.PrintForm die UserForm in der gleichen Formatierung wie sie gedruckt würde, in eine Tabelle zu kopieren. Ich hoffe das ist verständlich?
Für zweckdienliche Hinweise herzlichen Dank.

Gruss
Gunter

  

Betrifft: AW: Print Form von: ransi
Geschrieben am: 07.12.2009 17:37:25

HAllo Gunter

Ein Screenshot der Userform in ein neu eingefügtes Blatt einfügen ?
Wäre das eine Möglichkeit ?

' **********************************************************************
' Modul: UserForm1 Typ: Userform
' **********************************************************************

Option Explicit

Private Declare Sub keybd_event Lib "User32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)

Private Sub CommandButton1_Click()
Dim ws As Worksheet
DoEvents
Set ws = Worksheets.Add
Sleep 1000
keybd_event &H2C, 1, 0, 0
With ws
    .Paste .Range("A1")
End With
End Sub



ransi


  

Betrifft: AW: Print Form von: Gunter
Geschrieben am: 07.12.2009 17:49:59

Hallo ransi,

wo müsste denn dein Code stehen? Ich habe ihn gerade in die UserForm integriert, aber da fügt es mir eine Tabelle1 mit den Code Zeilen ein. Ansonsten ist die Idee ganz Prima.

Gruss
Gunter


  

Betrifft: Screenshot von Userform geht nicht.(API) von: ransi
Geschrieben am: 07.12.2009 18:15:57

HAllo Gunter

Den Code einem Button auf der UserForm zuweisen ist richtig.
Eigenartig.
HAtte grade den gleichen Effekt.
HAbe allerdings keine Erklärung dafür.

Drücke noch mal den Button, dann gehts....
Ich stelle den Beitrag auf mal auf Offen.
Hoffentlich reagiert einer der API-Cracks drauf.

ransi


  

Betrifft: AW: Print Form von: Tino
Geschrieben am: 07.12.2009 19:52:04

Hallo,
hier mal ein Beispiel, vielleicht gehts hiermit.

https://www.herber.de/bbs/user/66414.xls

Gruß Tino


  

Betrifft: AW: Print Form von: Gunter
Geschrieben am: 07.12.2009 20:34:07

Hallo Tino,

das schaut schon sehr viel versprechend aus. Ich will ja nicht übermütig werden, aber geht das auch so, dass der Rahmen von der UserForm nicht mit kopiert wird?
Vielen Dank schon mal.

Gruss
Gunter


  

Betrifft: AW: Print Form von: Tino
Geschrieben am: 07.12.2009 22:08:25

Hallo,
habe mal etwas rumgebastelt, kannst ja mal testen.

https://www.herber.de/bbs/user/66416.xls

Gruß Tino


  

Betrifft: AW: Print Form von: Gunter
Geschrieben am: 07.12.2009 22:46:32

Hallo Tino,

herzlichen Dank, funktioniert super. Auch wenn ich deinen Code noch nicht so richtig verstehe, hoffe ich, dass ich das bei mir integriert bekomme. Nochmals vielen Dank.

Gruss
Gunter


  

Betrifft: Innere Userform abfotografieren (Screenshot) von: Tino
Geschrieben am: 08.12.2009 05:17:27

Hallo,
habe die Variable für die Übergabe der Userform umgestellt,
so wird der Code einfacher und auch etwas kürzer,
zudem habe ich auch die Kommentare angepasst somit müsstest Du schnell den Durchblick haben.

https://www.herber.de/bbs/user/66419.xls

Gruß Tino


  

Betrifft: AW: Innere Userform abfotografieren (Screenshot) von: Andre´
Geschrieben am: 08.12.2009 09:05:58

Hallo Tino,

habe Dein letztes Bsp. getestet und erhalte

Laufzeitfehler 138 dort wo die Hochkommas gesetzt sind:


With oSH.Shapes(1)
' .PictureFormat.CropTop = (oUF.Height - oUF.InsideHeight) + (oUF.Width - oUF.InsideWidth) / 2
' .PictureFormat.CropLeft = (oUF.Width - oUF.InsideWidth)
' .PictureFormat.CropRight = (oUF.Width - oUF.InsideWidth)
' .PictureFormat.CropBottom = (oUF.Width - oUF.InsideWidth)
.Top = 0
.Left = 0
End With


MFG Andre


  

Betrifft: habe falsche Datei hochgeladen, sorry ... von: Tino
Geschrieben am: 08.12.2009 14:47:04

Hallo,
hier die richtige.

https://www.herber.de/bbs/user/66435.xls

Gruß Tino


  

Betrifft: Hallo Tino, Vielen Dank funzt :-) oT von: Andre´
Geschrieben am: 08.12.2009 17:18:29