# [Office 2003] Graue Schattierung wegmachen



## DrMueller (5. September 2008)

Hallo Leute,
was wirklich dummes:
Wenn ein Kunde von uns einen Serienbrief erstellt, ist bei ihm automatisch der "Highlight Merge Fields" Button angewählt. Dieser macht, dass die generierten Felder grau hinterlegt werden, selbst beim Drucken.

Nun zwei Fragen:
1. Kann man machen, dass das Kästchen nicht automatisch angewählt ist?
2. Ist es möglich, dass die grau hinterlegten Felder nicht so ausgedruckt werden?

Da beides zur Lösung führt, wäre ich mit einer Antwort ja gut bedient, aber das Problem ist:
-Ich kann in der Vorlage die Serienbrief-Optionen nicht ändern (logisch, sind ja keine Daten vorhanden)
-Ich habe bereits jedes Print-Kästchen in den Options ausprobiert, aber es wird trotzdem immer grau hinterlegt ausgedruckt.

Bei der angehängten Datei ist das rot umrandete Kästchen das, welches ich meine.


Ich danke im Vorraus für die Aufmerksamkeit.


----------



## Zvoni (5. September 2008)

DrMueller hat gesagt.:


> 1. Kann man machen, dass das Kästchen nicht automatisch angewählt ist?



Hmmm, im Objektkatalog habe ich die Klasse "CommandBarButton" gefunden, welche die Eigenschaft "State" besitzt, für welche die Konstanten "msoButtonDown", "...Mixed" und "...Up" zulässig sind.

Als Ansatz vielleicht: auf "msoButtonUp" im Document_Open-Ereignis setzen.


----------



## DrMueller (5. September 2008)

Ich muss leider ehrlich gesagt sagen, dass ich nicht viel Ahnung von Office habe, da ich eigentlich ein DMS betreue. Da der Serienbrief jedoch von unserem Programm aus gemacht wird, ist es natürlich unsere Sache (Kundenlogik).

Kurz gesagt: Ich bräuchte eigentlich nur eine der beiden Word-Funktionen.


----------



## Zvoni (5. September 2008)

also was ich auf die schnelle finden konnte:


```
Private Sub Document_Open()
Dim x As CommandBarControl

    'On Error Resume Next

    Set x = Me.CommandBars("Mail Merge").FindControl(msoControlButton, 6069)
    
    
End Sub
```

Sorry, hab jetzt Feierabend, aber vielleicht hilft es dir als Ansatz.

Die ID 6069 ist die ID für den Button "Seriendruckfelder hervorheben". setz mal ne Überwachung auf "x" und schaus dir im Überwachungsfenster an.


----------



## DrMueller (5. September 2008)

Du hast aber früh Feierabend 
Ich hab mich mal erkundigt und herausgefunden, dass das Häckchen tatsächlich nur über ein Makro oder beim Erstellen einer Vorlage entfernt werden kann.

VIelleicht hat wer eine Idee, wie man die Grauschattierung beim Drucken wegmachen kann?


----------



## Zvoni (5. September 2008)

DrMueller hat gesagt.:


> Du hast aber früh Feierabend
> Ich hab mich mal erkundigt und herausgefunden, dass das Häckchen tatsächlich nur über ein Makro oder beim Erstellen einer Vorlage entfernt werden kann.
> 
> VIelleicht hat wer eine Idee, wie man die Grauschattierung beim Drucken wegmachen kann?


 
Feierabend=Freitags immer, da ich ne glatte 38,5 Std.-Woche habe (Bin jetzt bei meinem Vater im Geschäft)

Thema Grauschattierung: Gibts vielleicht irgendwo ne Option, wo man die "Schattierungsfarbe" auf weiss setzen kann? Also im Prinzip das ganze Teil hereinlegen. Man lässt es seinen "Schattierungsdruck" machen, nur man belügt es, indem man sagt die Schattenfarbe sei weiss.


----------



## DrMueller (16. September 2008)

So mal was anderes,
habe über tausend Umwege folgende Aussage bekommen:

Grauhinterlegung (Seriendruck-Hervorhebung) kann deaktiviert werden, wenn im Makro Cons_intro der Befehl

WordBasic.MailMergeShadeFields

aufgerufen wird


Nun die Frage: Die Grauhinterlegung war nur beim Kunden aktiv, bei mir nicht. Wenn ich diesen Makro Befehl nun in das entsprechende Intro setze, wirds beim mir grau hinterlegt.
Bedeutet das, wenn ich es beim Kunden einfüge, wird es ausgeschaltet?
Ich kann ja keinen Boolean setzen oder so.

Sorry, aber bei Makros habe ich wohl in der Schule verschlafen.


----------



## Zvoni (16. September 2008)

Hmmm, aus dem Bauch heraus würde ich es vielleicht so machen:

Im Document_Open-Ereignis


```
Dim x As CommandBarControl     
'On Error Resume Next     

Set x = Me.CommandBars("Mail Merge").FindControl(msoControlButton, 6069)
If x.State=msoButtonDown then WordBasic.MailMergeShadeFields
```


----------



## DrMueller (17. September 2008)

Sieht gut aus, test ich mal. Danke.


----------

