IUch befasse mich mich folgendem Gedanken:
Ich rufe eine TAbelle auf arbeite dort (neu eingeben, ergänen usw,) Während dieser SDession möchte ich dazwischen z.B. ein Makro aufrufen, das aus den aktuellen Eingaben Daten errechnet oder an anderer Stelle der >TAbelle einsetzt und ich kann anschließend manuell weiterarbeiten und im wewiteren Verlauf wieder ein Makro aufrufen und dann weiter arbeiten.
Also Tabelle offnen/ersdtellen> in der TAbelle manuell opeerieren > durch Tastendruck ein Makro aufrufen das in der TAbelle Operationen auslöst > kehrt automatisch in den Bearbeitungsmodus zurück > usf.
Schwebt mir vor, ist aber wohl ein Traumwunsch?
Max
Makro selektiert auslösen
Moderator: Moderatoren
Re: Makro selektiert auslösen
Nein, im Normalfall nicht. Ob im Detail genau das umzusetzen ist was Du haben willst hängt natürlich von den Anforderungen ab.Schwebt mir vor, ist aber wohl ein Traumwunsch?
Im Anhang ein Beispiel das nur auf Tastendruck einige Werte kopiert und löscht und eine Zelle in den Edit-Modus versetzt.
Hinweis:
der Code im Beispiel ist nicht sehr elegant, erfüllt aber seinen Zweck:
Code: Alles auswählen
sub Main2
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:JumpToNextCell", "", 0, Array())
i = 10
Do
i = i + 1
tmp = ThisComponent.Sheets(0).getCellByPosition(3, i).FormulaLocal
Loop While tmp <> ""
With ThisComponent.Sheets(0)
.getCellByPosition(3, i).String = .getCellByPosition(0, 1).String
.getCellByPosition(4, i).String = .getCellByPosition(1, 1).String
.getCellByPosition(0, 1).FormulaLocal = ""
.getCellByPosition(1, 1).FormulaLocal = ""
End With
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$A$2"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:SetInputMode", "", 0, Array())
end sub
Gruß
Stephan
- Dateianhänge
-
- Beispiel.ods
- (10.79 KiB) 108-mal heruntergeladen