 |
Leere Positionen nicht drucken
Ich verwende in Word Rechnungsformulare mit berechneten Feldern, die mir DM- und Euro-Beträge anzeigen. Da ich es nicht schaffe, die Zahl der Rechnungspositionen veränderlich zu gestalten, tauchen auf meinen Ausdrucken immer überflüssige Nullen auf. Läßt sich das verbessern ?
Es bestünde zwar theoretisch die Möglichkeit, unterschiedliche Formate für positive, negative und leere Feldwerte zu vergeben, allerdings sind die Resultate nicht zuverlässig. Es bietet sich daher an, die nicht benötigten Zeilen durch weiße Schriftfarbe auszublenden und nur dann einzublenden, wenn sie Werte enthalten.
Dazu formatieren Sie die Zeilen ab der zweiten Rechnungsposition - eine Position ist ja immer vorhanden - mit der Schriftfarbe Weiß oder der entsprechenden Hintergrundfarbe. Dann schreiben Sie ein Makro, das die aktuelle Zeile mit der Schriftfarbe Schwarz formatiert, wenn sie Werte enthält. Verwenden Sie die Spalte mit den Feldern für die Artikelbezeichnungen oder Mengenangaben für den Aufruf des Format-Makros. Im Beispiel haben wir uns für die Spalte »Menge« entschieden, das Makro läßt sich aber auch unverändert für die Spalte »Artikelbezeichnung« verwenden.
Starten Sie also zunächst den Visual-Basic-Editor und fügen Sie der Vorlage das Listing aus dem Kasten unten links hinzu. Die bequemere Variante: Sie kopieren das Listing aus der Datei FELDMAK.TXT auf der Heft-CD.
Die erste Zeile überprüft, ob das Feld einen Eintrag enthält. Wenn dem so ist, führt es die folgenden Anweisungen aus, andernfalls geschieht nichts - die Zeile bleibt weiß und damit auf dem Ausdruck unsichtbar.
Die zweite Makro-Zeile liest aus der Eigenschaft »Information« des Objekts »Selection« die aktuelle Tabellenzeile aus und erklärt sie zur aktuellen Auswahl. Dieser neuen Auswahl weist die dritte Zeile die Schriftfarbe Schwarz zu, und die letzte Anweisung verschiebt die Einfügemarke auf das folgende Feld - in diesem Fall den Einzelpreis.
Um dieses Makro nach dem Verlassen eines Feldes auszulösen, wählen Sie das Menge-Feld der zweiten Zeile an. Dann ordnen Sie im Bereich »Makro starten bei« aus dem Kombinationsfeld »Verlassen« den Namen des soeben geschriebenen Makros zu. Das wiederholen Sie für alle folgenden Felder dieser Spalte.
Listing »Feldmak« If Selection.Information (wdFirstCharacterColumnNumber) <> 1 Then ActiveDocument.Tables (1).Rows (Selection.Information (wdStartOfRangeRowNumber)).SelectSelection.Font.ColorIndex = wdBlack Selection.NextField End If
|
 |