vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Re: Finanzamt-Formular bearbeiten 
Autor: VBRunner
Datum: 25.04.08 22:54

Hi nobi,
folgender Code in eine Form und einen Button "Command1"
damit wir z.B. die Steuernummer an der richtigen Position im Formular gedruckt
Option Explicit
Private Declare Function GetDeviceCaps Lib "gdi32" _
(ByVal hDC As Long, ByVal nIndex As Long) As Long
Public pLeft As Long
Public pTop As Long
Public pRight As Long
Public pBottom As Long
Public pWidth As Long
Public pHeight As Long
Public sMsg As String
' Ermitteln der nichtbedruckbaren Ränder
Public Sub GetPhysicalPageSize(Printer As Object, _
pLeft As Long, pTop As Long, _
Optional pWidth As Long, Optional pHeight As Long, _
Optional pRight As Long, Optional pBottom As Long, _
Optional ByVal ScaleMode As Integer = vbMillimeters)
 
Const PHYSICALWIDTH = 110
Const PHYSICALHEIGHT = 111
Const PHYSICALOFFSETX = 112
Const PHYSICALOFFSETY = 113
'RequestStart:
  On Error GoTo Errhandler:
  With Printer
    ' Papiergröße
    pWidth = .ScaleX(GetDeviceCaps(.hDC, _
      PHYSICALWIDTH), vbPixels, ScaleMode)
    pHeight = .ScaleY(GetDeviceCaps(.hDC, _
      PHYSICALHEIGHT), vbPixels, ScaleMode)
 
    ' nicht bedruckbare Ränder: Links und Oben
    pLeft = .ScaleX(GetDeviceCaps(.hDC, _
      PHYSICALOFFSETX), vbPixels, ScaleMode)
    pTop = .ScaleY(GetDeviceCaps(.hDC, _
      PHYSICALOFFSETY), vbPixels, ScaleMode)
 
    ' nicht bedruckbare Ränder: Rechts und unten
    pRight = pWidth - pLeft - _
      .ScaleX(.ScaleWidth, .ScaleMode, ScaleMode)
    pBottom = pHeight - pTop - _
      .ScaleY(.ScaleHeight, .ScaleMode, ScaleMode)
  End With
Exit Sub
Errhandler:
End Sub
 
Private Sub Get_nicht_bedruckbare_Bereiche(Optional ByVal oAnzeigen As Boolean _
  = True)
' Einstellungen des Standard-Druckers
RequestStart:
On Error GoTo Errhandler
 
  GetPhysicalPageSize Printer, pLeft, pTop, _
  pWidth, pHeight, pRight, pBottom, vbMillimeters
 
  sMsg = "Papiergröße: " & CStr(pWidth) & _
  " x " & CStr(pHeight) & "mm" & vbCrLf & _
  "Linker Rand: " & CStr(pLeft) & "mm" & vbCrLf & _
  "Rechter Rand: " & CStr(pRight) & "mm" & vbCrLf & _
  "Oberer Rand: " & CStr(pTop) & "mm" & vbCrLf & _
  "Unterer Rand: " & CStr(pBottom) & "mm"
  If oAnzeigen = True Then _
  MsgBox sMsg, vbInformation + vbOKOnly
 
Exit Sub
Errhandler:
  MsgBox "Fehler"
End Sub
 
Private Sub Command1_Click()
 Drucke_Formular
End Sub
 
Private Sub Form_Load()
  Me.Show
  DoEvents
  Call Get_nicht_bedruckbare_Bereiche
End Sub
 
Private Sub Drucke_Formular()
Dim nPosX&, nPosY&, sText$
  sText = "471100/081500" 'Steuernummer
  nPosX = Int(62 * 56.7) 'Umrechnung mm in dpi
  nPosY = Int(32.5 * 56.7)
  nPosX = nPosX - pLeft 'ggf. nicht druckbaren Bereich abziehen
  nPosY = nPosY - pTop
  With Printer
    .PaperSize = vbPRPSA4
    .Orientation = vbPRORPortrait
    .ScaleTop = 0
    .ScaleLeft = 0
    .FontName = "Arial"
    .FontSize = 12
    .FontBold = False
  End With
  Printer.Print "" 'damit der Drucker initialisiert
  With Printer
    .CurrentX = nPosX 'Abstand Links
    .CurrentY = nPosY 'Abstand Oben
  End With
    Printer.Print sText
    Printer.EndDoc  'wenn Document fertig
    'printer.NewPage 'bei mehrseitigem Druck
End Sub
hoffe das hilft dir weiter

cu,
VBRunner
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Finanzamt-Formular bearbeiten2.635nobi19.04.08 20:16
Re: Finanzamt-Formular bearbeiten2.064Garfield000119.04.08 20:55
Re: Finanzamt-Formular bearbeiten2.055nobi20.04.08 10:01
Re: Finanzamt-Formular bearbeiten2.066ModeratorDieter21.04.08 09:05
Re: Finanzamt-Formular bearbeiten2.052nobi21.04.08 18:17
Re: Finanzamt-Formular bearbeiten2.020VBRunner24.04.08 17:16
Re: Finanzamt-Formular bearbeiten2.010nobi25.04.08 07:26
Re: Finanzamt-Formular bearbeiten2.002nobi25.04.08 08:03
Re: Finanzamt-Formular bearbeiten2.035VBRunner25.04.08 22:54
Re: Finanzamt-Formular bearbeiten2.020nobi25.04.08 20:52
Re: Finanzamt-Formular bearbeiten2.010nobi26.04.08 07:53
Re: Finanzamt-Formular bearbeiten1.986VBRunner26.04.08 13:02
Re: Finanzamt-Formular bearbeiten1.967nobi26.04.08 18:37
Re: Finanzamt-Formular bearbeiten1.969VBRunner26.04.08 21:43
Re: Finanzamt-Formular bearbeiten1.977nobi27.04.08 09:12
Re: Finanzamt-Formular bearbeiten2.000Housedog30.04.08 13:44
Re: Finanzamt-Formular bearbeiten1.984nobi30.04.08 18:33
Re: Finanzamt-Formular bearbeiten1.941Housedog01.05.08 14:19
Re: Finanzamt-Formular bearbeiten2.033Housedog01.05.08 14:21

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel