Izpis Forme

Pomoč pri izdelavi makrov
Odgovori
Stenly
Prispevkov: 223
Pridružen: Sr Jul 27, 2005 11:29 pm

Izpis Forme

Odgovor Napisal/-a Stenly »

Pozdravljeni

Je možno izpisati formo ležeče, oziroma, jo je možno kakorkoli pomanjšat za izpis.

Sedaj za izpis forme uporbljam kodo:

Koda: Izberi vse

Me.PrintForm
Lep pozdrav
GoldZ
Prispevkov: 137
Pridružen: Če Sep 01, 2005 10:20 am

Odgovor Napisal/-a GoldZ »

Pozdravljeni,

Poskusite programsko pred tiskanjem zmanjšati obrazec (width, height) in po tiskanju povrniti prejšnje stanje.
:?:
Življenje je enostavno, če poznaš "The Secret".
GoldZ
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

Pozdravljeni, spodnja koda, ki pa ni zrasla na mojem zelniku, temveč jo je zapisal Tom Ogilvy (jaz sem jo samo malce priredil); bo rešila vaš problem:

Koda: Izberi vse

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 Const KEYEVENTF_KEYUP = &H2
Private Const VK_SNAPSHOT = &H2C
Private Const VK_MENU = &H12

Private Sub AltPrintScreen()
    keybd_event VK_MENU, 0, 0, 0
    keybd_event VK_SNAPSHOT, 0, 0, 0
    keybd_event VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0
    keybd_event VK_MENU, 0, KEYEVENTF_KEYUP, 0
End Sub

Private Sub CommandButton1_Click()
  Dim wb As Workbook
  Dim sh As Worksheet
  
  CommandButton1.SetFocus
  AltPrintScreen
  DoEvents
  
  Application.ScreenUpdating = False
  
  Set wb = Workbooks.Add(template:=xlWBATWorksheet)
  Set sh = wb.Sheets(1)
  
  sh.Paste
  With sh.PageSetup
      .FitToPagesTall = 1
      .FitToPagesWide = 1
      .Orientation = xlLandscape
      .Zoom = False
  End With
  sh.PrintOut
  wb.Close False
  
  Application.ScreenUpdating = True
  
  Set sh = Nothing
  Set wb = Nothing
End Sub

lp,
Matjaž Prtenjak
Administrator
Stenly
Prispevkov: 223
Pridružen: Sr Jul 27, 2005 11:29 pm

Odgovor Napisal/-a Stenly »

Se lepo zahvaljujem za trud.

Lep pozdrav
Odgovori