title image


Smiley Re: WORD 97: 2 Seiten auf einem Blatt drucken?
Hallo LenziAuch für mich ist neben Word2000, welches dieses Feature endlich auch beinhaltet, FinePrint wohl die beste und cleverste Lösung für Dein Problem.FinePrint schleicht sich als zusätzlichen Druckertreiber ein und steht damit allen Anwendungen zur Verfügung.Die Software kostet rund DM 70,00 und wird jetzt wohl billiger (oder noch besser?) werden, weil ihre Attraktivität mit Office2000 wohl sinken wird.Vor einiger Zeit habe ich ein Programm in VBA geschrieben, welches diese Aufgabe in den meisten Fällen auch erledigen kann.Dieses Makro ist funktionell stabilisiert, was nichts anderes heisst, dass ich es nicht mehr anfasse. Letztlich gibt es bessere eben Alternativen.Trotzdem hier ist es:GrussSilvia'' Druckt zwei Seiten auf eine Seiten' Erstellt am 02.11.97 von Silvia Widmer'Private Const azTitle$ = "Aus zwei mach eins!"Private Const azText$ = "Diese Routine druckt zwei Seiten auf eine Seite. Dazu wird die Schrift verkleinert und das Schriftbild um 90° gedreht."Private Const TopMargin = 0.8Private Const BottomMargin = 0.75Private Const LeftMargin = 0.9Private Const RightMargin = 1.8Private Const fName = "Arial"Private Const fSize = 8Private Const tFactor = 0.75Private Const sFactor = 0.7Dim azAssistant As BooleanSub AusZweiMachEinsPlus() azAssistant = Assistant.Visible Assistant.Visible = True LF = Chr(13) Selection.WholeStory If Selection.Text = Chr(13) Then Assistant.Animation = msoAnimationGetAttentionMajor blIcon = msoIconAlert blTitle = azTitle$ + LF + LF + "Kein Text zum Drucken!" blText = azText$ + LF + LF + "So wirds gemacht:" blLabel1 = "Brechen Sie diese Routine ab." blLabel2 = "Öffnen Sie das Dokument, welches Sie drucken möchten." blLabel3 = "Rufen Sie diese Routine nochmals auf." blButton = msoButtonSetCancel Else Assistant.Animation = msoAnimationGreeting blIcon = msoIconTip blTitle = azTitle$ blText = azText$ + LF + LF + "Mit Ok geht's weiter..." blButton = msoButtonSetOkCancel End If Selection.Collapse Dim Blase As Balloon Set Blase = Assistant.NewBalloon With Blase .Mode = msoModeModal .BalloonType = msoBalloonTypeNumbers .Icon = blIcon .Heading = blTitle .Text = blText If blLabel1 "" Then .Labels(1).Text = blLabel1 .Labels(2).Text = blLabel2 .Labels(3).Text = blLabel3 End If .Button = blButton End With Wahl = Blase.Show Select Case Wahl Case -1 Case -2 Assistant.Visible = aaAssistant End End Select System.Cursor = wdCursorWait View = ActiveWindow.ActivePane.View.Type ActiveWindow.ActivePane.View.Type = wdPageView Assistant.Animation = msoAnimationWorkingAtSomething Application.ScreenRefresh Application.ScreenUpdating = False System.Cursor = wdCursorWait Selection.WholeStory Selection.Copy Documents.Add Application.ScreenUpdating = False Selection.Paste Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "^m" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue End With Selection.Find.Execute Replace:=wdReplaceAll Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "^b" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue End With Selection.Find.Execute Replace:=wdReplaceAll Selection.WholeStory With Selection.ParagraphFormat .Space1 End With With Selection.Font .Size = fSize .Name = fName End With Dim Breite As Long Dim Höhe As Long On Error Resume Next 'Err 5992 wenn Spaltenbreite oder Zeilenhöhe unterschiedlich For Each Tabelle In ActiveDocument.Tables For Each Spalte In Tabelle.Columns Breite = Spalte.Width * tFactor Spalte.Width = Breite Next Tabelle.Rows.HeightRule = 1 Tabelle.Rows.AllowBreakAcrossPages = False Höhe = Tabelle.Rows(1).Height * tFactor Tabelle.Rows.Height = Höhe Next On Error GoTo 0 For Each Grafik In ActiveDocument.Shapes Grafik.ScaleHeight sFactor, False Grafik.ScaleWidth sFactor, False Next ActiveDocument.Repaginate With ActiveDocument.PageSetup .Orientation = wdOrientLandscape .TopMargin = CentimetersToPoints(TopMargin) .BottomMargin = CentimetersToPoints(BottomMargin) .LeftMargin = CentimetersToPoints(LeftMargin) .RightMargin = CentimetersToPoints(RightMargin) .PageWidth = CentimetersToPoints(29.7) .PageHeight = CentimetersToPoints(21) .SectionStart = wdSectionContinuous .VerticalAlignment = wdAlignVerticalTop End With ActiveDocument.Repaginate With Selection.PageSetup.TextColumns .SetCount NumColumns:=2 .EvenlySpaced = True .LineBetween = False .Width = CentimetersToPoints(13.5) .Spacing = CentimetersToPoints(0.75) End With Assistant.Animation = msoAnimationPrinting Application.ScreenRefresh ActiveDocument.Repaginate ActiveDocument.PrintOut (Background) ActiveDocument.Close (SavesChanges) Selection.HomeKey unit:=wdStory Selection.Collapse ActiveWindow.ActivePane.View.Type = View Assistant.Visible = azAssistant Application.ScreenUpdating = True System.Cursor = wdCursorNormalEnd Sub

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: