Excelfarben von Notes aus steuern

  • Hallo,


    ich erstelle gerade per Agent ein Exceldiagramm.
    Wie kann ich die Balken- oder Hintergrundfarbe mit RGB-Werten verändern?
    Wie ich die einzelenen Elemente anspreche, weiss ich, aber leider nícht wie ich mit RGB Werten die Farbe setzten kann.


    Wäre echt super wenn mir da jemand einen Tip hat.


    Mfg Melli

    • Offizieller Beitrag

    Zeichne Dir mal ein Macro im Excel auf und setze in diesem Macro die Farben.


    Dann gehe in den Code des Macro, dort müsste der benötigte Befehl stehen.


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • Das habe ich schon gemacht.
    Im Excel 2003 gibt es nur das Problem, dass du nicht wie in Word oder Powerpoint direkt RGB werte eingeben kannst. Du musst über Extras--> Optionen --> Farben gehen.
    Da wählst du eine bestehende Farbe aus und änderst diese mit RGB werden hab. Dann kannst du auf diese Farbe zugreifen.


    Im der Makroaufzeichnung sieht das dann so aus.


    ActiveWorkbook.Colors(37) = RGB(194, 222, 246)


    ActiveChart.SeriesCollection(1).Select
    With Selection.Interior
    .ColorIndex = 37
    End With


    Im Notes würde ich das dann so schreien.


    ActiveChart.SeriesCollection(1).Select
    Excel.ActiveWordbook.Color(37)=RGB(194,22,246)
    Excel.Selection.Interior.ColorIndex = 37


    Leider akzeptiert mir Notes den RGB Objekt nicht.


    Wenn ich es so schreibe:
    Excel.ActiveWordbook.Color(37)="RGB(194,22,246)"
    akzeptiert er mir es zwar, aber macht die Farbe 37 schwarz und nicht hellblau


    Ich weiss echt nicht mehr weiter.

    • Offizieller Beitrag

    die Funktion RGB kennt Notes nicht, deshalb kommt der Fehler, aber das Excel-Objekt kennt diese Funktion. Also muss RGB mit dem Excel-Objekt angewendet werden.


    Excel.ActiveWordbook.Color(37)=Excel.RGB(194,22,246)


    Gruß
    Dirk

  • Wir hatten einen Schreibfehler drin.
    Das heisst natrülich ActiveWorkbook nicht ActiveWordbook.


    So wie du es mir gesagt hast, akzeptiert er mir den RGB Befehl aber leider bringt er jetzt folgenden Fehler



    "Instance member COLOR does not exist"


    Und weiter???????

    • Offizieller Beitrag

    schau mal ob Color im Objekt ActiveWorkbook in den COM-Klassen zur Verfügung steht. Eventuell wird Color in COM nicht unterstützt.


    Gruß
    Dirk

  • Ich hatte schon wieder ein Schreibfehler. Hatte Color geschrieben statt Colors.
    Habe nun folgenden Befehl laufen lassen:


    Excel.ActiveWorkbook.Colors(37) = Excel.RGB(194, 222, 246)
    Jetzt sagt er mir


    "Instance member RGB does not exist"


    Wie schau ich nach ob dieser Befehl unterstützt wird?

    • Offizieller Beitrag
    Code
    Wie schau ich nach ob dieser Befehl unterstützt wird?


    in der Excel-, VBA-Hilfe oder bei www.msdn.com.


    zu der Code-Zeile:
    ActiveWorkbook.Colors(37) = RGB(194, 222, 246)


    Habe jetzt mal im Excel ein Macro erstellt mit folgendem Code:

    Code
    sub test()
    debug.print RGB(194, 222, 246)
    stop
    End Sub


    Beim Stop sehe ich in der Debug-Konsole eine Long-Zahl (16178882). Leider liefert NotesColorObject keine Long-Zahl (wäre zu schön gewesen).


    Schau mal hier, RGB ist keine Function, die vom VBA oder Excel kommt sonderen wahrscheinlich musst Du dafür die "Visual Basic Run-Time Library" benutzen.


    Gruß
    Dirk


    %edit
    und zwar steckt RGB in "Microsoft.VisualBasic.Information Module"

    • Offizieller Beitrag

    kann ich nicht genau sagen, da müsste ich mich erstmal durch Mikrosoft-Hilfe wühlen, wenn diese Funktionen überhaupt beschieben sind.


    Entweder geht es über OLE (eventuell muss Visual Basic dafür installiert sein) oder da Excel auf diese Funktion zugreifen kann, könnte es per API gehen.


    Alternativ kannst Du versuchen herauszubekommen wie die RGB-Funktion die Farbanteile für rot, grün und blau in einen Longwert umrechnet und die RGB-Funktion im Notes nachbauen.


    Keine Ahnung welcher Weg gangbar ist und welcher am schnellsten oder am einfachsten zum Ziel führt.


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • Hallo,


    ich habe heute einen Weg gefunden.
    Ich hole mir aus dem aufgezeichneten Makro den Long Wert
    und schreibe dann folgenden Befehl


    Excel.Selection.Interior.Color = 16178880


    ABER


    das gibt dann leider nicht die Farbe die ich gerne hätte.
    Wenn ich es im Excel direkt mit RGB eingebe, funktioniert es, wenn ich mit dem Long Wert arbeite, ist es nicht die selbe Farbe.


    Das ist doch wie verhext.