von F3K Total » Sa, 21.09.2013 14:03
Moin,
brandonson hat geschrieben:Es sollte ja eigentlich ohne irgendwelche Aufrufe einfach den Kommentar aus A1 in B1 schreiben, wenn ich das richtig verstanden habe.
Nee, tut es nicht, man muss es schon starten.
brandonson hat geschrieben:Und wenn es dann funktioniert, wie mache ich daraus eine Funktion, sodass ich diese in jeder Zelle aufrufen kann?
Da solltest du dir erstmal Gedanken machen, was du willst!
Wohin soll denn der Inhalt des Kommentares, also in welche Zelle, bezogen auf die Kommentarzelle, überhaupt hingeschrieben werden?
In die rechts neben der Quellzelle?
Das ginge etwa so
Code: Alles auswählen
Sub S_transfer_comment
ocellSource = thiscomponent.currentselection
if ocellSource.supportsservice("com.sun.star.sheet.SheetCell") then
if ocellSource.Annotation.string = "" then
msgbox ("Es ist kein Kommentartext vorhanden",16,"Kommentare auslesen")
exit sub
else
ocelladdress = ocellSource.celladdress
oSheet = thiscomponent.sheets(ocelladdress.Sheet)
ocellTarget = osheet.getcellbyposition(ocelladdress.column + 1,ocelladdress.row)'+ 1 d.h. eine Zelle neben der Quellzelle
sAnnotation = ocellSource.Annotation.String
ocellTarget.String = sAnnotation
endif
else
msgbox ("Bitte eine einzelne Zelle selektieren",16,"Kommentare auslesen")
exit sub
endif
End Sub
Starten kannst Du so ein Makro mit verschiedenen Methoden z.B.
- Schaltfläche wie im Beispiel
- eigenes Menü
- eigene Symbolleiste
- Tastenkombination
- Tabellenereignis
- usw.
Damit du ein Makro ausführen kannst, stellst du unter Extras/Optionen/Openoffice oder LibreOffice/Sicherheit/Makrosicherheit mindestens die Stufe "Mittel" ein, dann wirst du beim Öffnen von Dokumenten gefragt ob du Makros ausführen möchtest.
Gruß R
Gruß R
- Dateianhänge
-
- Kommentar_auslesen.ods
- (9.71 KiB) 143-mal heruntergeladen
Moin,
[quote="brandonson"]Es sollte ja eigentlich ohne irgendwelche Aufrufe einfach den Kommentar aus A1 in B1 schreiben, wenn ich das richtig verstanden habe. [/quote]
Nee, tut es nicht, man muss es schon starten.
[quote="brandonson"]Und wenn es dann funktioniert, wie mache ich daraus eine Funktion, sodass ich diese in jeder Zelle aufrufen kann?[/quote]
Da solltest du dir erstmal Gedanken machen, was du willst!
Wohin soll denn der Inhalt des Kommentares, also in welche Zelle, bezogen auf die Kommentarzelle, überhaupt hingeschrieben werden?
In die rechts neben der Quellzelle?
Das ginge etwa so[code]Sub S_transfer_comment
ocellSource = thiscomponent.currentselection
if ocellSource.supportsservice("com.sun.star.sheet.SheetCell") then
if ocellSource.Annotation.string = "" then
msgbox ("Es ist kein Kommentartext vorhanden",16,"Kommentare auslesen")
exit sub
else
ocelladdress = ocellSource.celladdress
oSheet = thiscomponent.sheets(ocelladdress.Sheet)
ocellTarget = osheet.getcellbyposition(ocelladdress.column + 1,ocelladdress.row)'+ 1 d.h. eine Zelle neben der Quellzelle
sAnnotation = ocellSource.Annotation.String
ocellTarget.String = sAnnotation
endif
else
msgbox ("Bitte eine einzelne Zelle selektieren",16,"Kommentare auslesen")
exit sub
endif
End Sub[/code]
Starten kannst Du so ein Makro mit verschiedenen Methoden z.B.
[list][*]Schaltfläche wie im Beispiel
[*]eigenes Menü
[*]eigene Symbolleiste
[*]Tastenkombination
[*]Tabellenereignis
[*]usw.[/list]
Damit du ein Makro ausführen kannst, stellst du unter Extras/Optionen/Openoffice oder LibreOffice/Sicherheit/Makrosicherheit mindestens die Stufe "Mittel" ein, dann wirst du beim Öffnen von Dokumenten gefragt ob du Makros ausführen möchtest.
Gruß R
Gruß R