Papierfach der aktuellen Seite ermitteln

15/03/2008 - 21:36 von Susanne Wenzel | Report spam
Hallo NG,

ich möchte dem Benutzer anzeigen, aus welchem Papierschacht die aktuell auf
dem Bildschirm sichtbare Seite gedruckt würde.

Dazu habe ich schon erfolgreich eine Symbolleiste gebastelt, die den Namen
des aktiven Druckers sowie die Papierschàchte für die erste Seite und die
übrigen Seiten des aktuellen Abschnitts ausliest und anzeigt. Was ja schon
mal ganz schön für meine Zwecke ist, allerdings muss ich so selbst noch
feststellen, ob ich mich auf der ersten Seite oder auf einer der übrigen
Seiten des Abschnitts befinde. Und das empfinde ich nicht als optimal.

Ich würde meinen, dass so etwas doch ganz einfach per vba zu ermitteln ist,
aber ich habe keine Idee. Falls da jemand einen Tip für mich hàtte, würde
ich mich sehr freuen.

Vielen Dank schon mal fürs Lesen und
viele Grüße aus dem hohen flachen Norden Deutschlands
Susanne
Office XP, SP3, aktueller Patchstand
Windows 2000, SP4, aktueller Patchstand
KI-TRIPLE 2007
 

Lesen sie die antworten

#1 Helmut Weber
16/03/2008 - 10:25 | Warnen spam
Hallo Susanne,

vielleicht so:

Sub Test7()
' wdActiveEndPageNumber = 3
' weil sonst die Zeilen zu lang werden
'
Dim lSec As Long ' number of sections
Dim lPg1 As Long ' number of pages of previous sections
Dim lPg2 As Long ' the actual page
Dim rTmp As Range
Set rTmp = Selection.Range ' initialize
Selection.Collapse
rTmp.Start = 0
rTmp.End = Selection.Start
lSec = rTmp.Sections.Count
If lSec = 1 Then
lPg2 = Selection.Information(3)
If lPg2 = 1 Then
MsgBox "Section = 1: Seite = 1"
Else
MsgBox "Section = 1: Seite <> 1"
End If
Exit Sub
End If
With ActiveDocument
lPg1 = .Sections(lSec - 1).Range.Characters.Last.Information(3)
End With
lPg2 = Selection.Information(3)
If lPg2 - lPg1 = 1 Then
MsgBox "Section = " & lSec & ": Seite = 1"
Else
MsgBox "Section = " & lSec & ": Seite <> 1"
End If

End Sub



Gruß

Helmut Weber, MVP WordVBA

Vista Small Business, Office XP

Ähnliche fragen