Kreisform in word mit hinterlegter Farbe füllen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
ListBox MsgBox
Bild

Betrifft: Kreisform in word mit hinterlegter Farbe füllen
von: Sandra
Geschrieben am: 25.11.2015 12:08:38

Hallo zusammen,
ich habe in Excel eine Kundendatenbank angelegt mit unterschiedlichen Spalten wie Adresse, Firma, Name. Eine Spalte beinhaltet die Farbe des Firmenlogos. Ebenfalls habe ich ein word vorlage, die mit der Kundendatenbank verbunden ist. Beim Öffnen der Vorlage kann ein bestimmter Kunde ausgewählt werden und die entsprechenden Felder, wie Name, etc. werden gefüllt. (Hier habe ich Bookmarks verwendet).
Nun scheiter ich aber daran, eine Kreisform in word mit der in der in Excel hitnelegten kundenindividuellen Farbe des Logos zu füllen.
Bisher habe ich folgendes in word verwendet:
If ListBox1.Text = CStr(.Cells(lZeile, 1).Value) Then
ActiveDocument.Bookmarks("Nachname").Range.Text = _
CStr(.Cells(lZeile, 5).Value)
ActiveDocument.Bookmarks("Adresse").Range.Text = _
CStr(.Cells(lZeile, 6).Value)
ActiveDocument.Bookmarks("PLZ_und_Ort").Range.Text = _
CStr(.Cells(lZeile, 7).Value)
ActiveDocument.Bookmarks("Firma").Range.Text = _
CStr(.Cells(lZeile, 1).Value)

Gibt es irgendeine Möglichkeit die Farbe auch anzuwenden, sodass die Kreisform mit der entsprechenden Kundenfarbe gefüllt wird?
Danke!

Bild

Betrifft: AW: Kreisform word mit hinterlegter Farbe füllen
von: JoWE
Geschrieben am: 25.11.2015 14:10:57
Hallo Sandra,
evtl. so?
Dim c1 As Long, c2 As Long, c3 As Long
c1 = .Cells(lZeile, nn).Value
c2 = .Cells(lZeile, nn).Value
c3 = .Cells(lZeile, nn).Value
ActiveDocument.Shapes(1).Fill.ForeColor.RGB = RGB(c1, c2, c3)
Gruß
Jochen

Bild

Betrifft: AW: Kreisform word mit hinterlegter Farbe füllen
von: Sandra
Geschrieben am: 25.11.2015 23:50:19
Vielen Dank, soweit funktioniert es!
Das Problem ist jedoch noch, dass die Farbe immer schwarz ist und nicht der Farbe der Excelzelle enspricht. Spaltennummer ist soweit angepasst.
Woran könnte das liegen? Muss ich noch etwas beachten?
Vorab Danke!

Bild

Betrifft: AW: Kreisform word mit hinterlegter Farbe füllen
von: JoWE
Geschrieben am: 26.11.2015 07:11:44
Hallo Sandra,
welche Werte übergibst Du denn an den RGB-Farbcode RGB(c1, c2, c3)?
Zitat Wikipedia: "Der RGB-Farbraum ist ein additiver Farbraum, der Farbwahrnehmungen durch das additive Mischen dreier Grundfarben (Rot, Grün und Blau) nachbildet".
Also c1 = 2, c2 =2, c3 =255 ergibt bei mir RGB(2,2,255) und damit ein schönes kräftiges Blau.
Schau Dir mal diese Seite an: http://www.farb-tabelle.de/de/farbtabelle.htm
Gruß
Jochen

Bild

Betrifft: AW: Ein Beispiel Dokument
von: JoWE
Geschrieben am: 26.11.2015 07:16:14
hier mal mein Versuch, der Code kommt in ein Modul des Dokumentes.
https://www.herber.de/bbs/user/101812.doc
Gruß
Jochen

Bild

Betrifft: AW: Kreisform word mit hinterlegter Farbe füllen
von: Sandra
Geschrieben am: 26.11.2015 11:32:26
Vielen Dank, das war mein Fehler..
Wenn ich das richtig verstehe, muss ich nun den Farbcode bei jeder Vorlage manuell ändern, wenn es eine andere Farbe sein soll, oder?
Ich hatte mir das so vorgestellt, dass die hinterlegte Farbe in Excel automatisch ausgelesen wird und die Kreisform dann automatisch angepasst wird. Ich denke, da bräuchte ich einen Code der c1,c2,c3 aus der entsprechenden Zelle in Excel ausliest, richtig?
Hättest du hierfür auch eine Idee?

Bild

Betrifft: AW: Kreisform word mit hinterlegter Farbe füllen
von: Sandra
Geschrieben am: 26.11.2015 14:05:03
Hallo Jochen,
ich konnte das Problem selber lösen, indem ich die Farbcodes in Excel einzeln hinterlegt habe.
Danke für deine Hilfe!

Bild

Betrifft: AW: Kreisform word mit hinterlegter Farbe füllen
von: JoWE
Geschrieben am: 26.11.2015 14:11:43
Hallo nochmal,
so z.B.:

Sub getRGBFarbCode()
    Dim rgbCode As Long
    Dim c1 As Long
    Dim c2 As Long
    Dim c3 As Long
    rgbCode = Range("I7").Interior.Color 'den Range musst Du anpassen
    c1 = rgbCode Mod 256
    c2 = rgbCode \ 256 Mod 256
    c3 = rgbCode \ 65536 Mod 256
    MsgBox c1 & ", " & c2 & ", " & c3
End Sub
Gruß
Jochen

Bild

Betrifft: AW: Kreisform word mit hinterlegter Farbe füllen
von: JoWE
Geschrieben am: 26.11.2015 14:14:25
Oh, Du hattest schon eine Lösung.
Nun, den Code kannst Du vielleicht trotzdem gebrauchen.
Gruß
Jochen

Bild

Betrifft: AW: Kreisform word mit hinterlegter Farbe füllen
von: Sandra
Geschrieben am: 26.11.2015 15:42:54
Super, danke ..Der Code passt noch viel besser als meine Lösung.
Nun hätte ich jedoch noch eine Frage bezüglich des "Range":
Und zwar möchte ich den so angeben, dass immer die Zelle ausgewählt wird, die zu dem Kunden gehört, der in der ListBox ausgewählt wurde.
Wie mache ich das? Bisher kann ich nur einzelne Zellen angeben.
Hier nochmal der Teil, wie ich das mit den Textelementen gemacht habe:

     If ListBox1.ListIndex >= 0 Then
    
         Set oExcelApp = CreateObject("Excel.Application")
         Set oExcelWorkbook = oExcelApp.Workbooks.Open(sAdressDatei)
            
    
         lZeile = 2 
         With oExcelWorkbook.sheets(sTabellenblatt)
             Do While .Cells(lZeile, 1) <> ""
               
                 If ListBox1.Text = CStr(.Cells(lZeile, 1).Value) Then
                     
                     ActiveDocument.Bookmarks("Nachname").Range.Text = _
                         CStr(.Cells(lZeile, 5).Value)
                     ActiveDocument.Bookmarks("Adresse").Range.Text = _
                         CStr(.Cells(lZeile, 6).Value)


Bild

Betrifft: AW: Kreisform word mit hinterlegter Farbe füllen
von: JoWE
Geschrieben am: 26.11.2015 16:00:00
unter dem Code:

rgbCode = .Cells(lZeile, nn).Value.Interior.Color 'nn ist die Spalten-Nr. mit dem Farbcode
c1 = rgbCode Mod 256
c2 = rgbCode \ 256 Mod 256
c3 = rgbCode \ 65536 Mod 256

....und so weiter, den Rest hast Du ja
Jochen

Bild

Betrifft: AW: Kreisform word mit hinterlegter Farbe füllen
von: Sandra
Geschrieben am: 26.11.2015 21:04:33
Super, jetzt funktioniert alles genauso, wie ich es mir vorgestellt habe.
Jedoch musste ich bei dem letzten Code "value" rausnehmen, damit es funktioniert.
Nochmal vielen Dank für Deine Hilfe!

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Kreisform in word mit hinterlegter Farbe füllen"