Falko hat geschrieben:ThoPie hat geschrieben:Danke. Danke. Ich bin begeistert.
Nur weiter so.
Hier habe ich mal was ausprobiert um ein Kommentar für eine Zelle einzufügen.
Nur leider komme ich nur bis zum Namen, aber nicht dem Kommentar. Vermutlich
mag COMatePlus das nicht so wie VBA das haben will.
Code: Alles auswählen
Procedure AddComment(ExcelObject.COMateObject, Range.s, Name.s, MyComment.s); write comments to cells
ExcelObject\Invoke("Range('"+Range+"')\AddComment")
ExcelObject\Setproperty("Range('"+Range+"')\Comment\Visible = False")
ExcelObject\Setproperty("Range('"+Range+"')\Comment\Text Text:= '"+Name+"' & Chr(10) & '"+MyComment+"'")
EndProcedure
AddComment(ExcelObject,"B5","Falko","Hier mein Kommentar")
@all
Falls ihr hierfür eine passende Lösung habt, wäre ich euch sehr dankbar. Man könnte
das Visible zusätzlich in den Parametern einbinden, sodass auch die Variable True angegeben werden kann um den Kommentar dauerhaft anzuzeigen.
[Edit]
Nach einigen Probieren ist es mir nun gelungen ein Kommentar in die Exceltabelle auf eine
beliebige Zelle einzufügen, um diese für den Nutzer zusätzlich zu kommentieren.
Dieses erkennt man üblicherweise an dem roten Dreieck in der oberen rechten Ecke.
Zwar gibt das Makro eine andere Schreibweise vor, die ich in COMatePlus aus irgendeinen Grund leider nicht so darstellen kann. Darum habe ich das nun vereinfacht, was meinerseits ausreichend erscheint. Das Visible habe ich ebenfalls weggelassen.
Nun der funktionierende Kommentar
Code: Alles auswählen
Procedure AddComment(ExcelObject.COMateObject, Range.s, MyComment.s); Write comments to cells
ExcelObject\Invoke("Range('"+Range+"')\AddComment('"+MyComment+"')")
EndProcedure
Und so würde ich dann einen mehrzeiligen Kommentar einfügen:
Code: Alles auswählen
MyComment ="Das ist echt toll,"+#CRLF$
MyComment + "wenn man Kommentare"+#CRLF$
MyComment + "einfügen kann"
AddComment(ExcelObject,"B12",MyComment)
[/Edit]
Gruß Falko