[Problem=gelöst] Einfügen mit rel. Bezug
Verfasst: Fr, 17.06.2011 20:57
Hallo ich habe folgendes Problem :
Ich habe ein Formular (Vermögensaufstellung) in dem wird ein Vermögenswert in einem Bereich erfasst.
Sollten es mehrere Vermögenswerte gleicher Art geben konnte man bisher (noch unter Lotus 1.2.3)
durch Knopfdruck ein weiteres Erfassungsfeld hinzufügen. Bisher habe ich das mit einem Makro gelöst.
{AUSWÄHLEN OBJEKT}
{EINFÜGEN-ZEILEN}
{EINFÜGEN-ZEILEN}
{EINFÜGEN-ZEILEN}
{EINFÜGEN-ZEILEN}
{EINFÜGEN-ZEILEN}
{AUSWÄHLEN MAKROS:A16..MAKROS:AB20;MAKROS:A16}
{BEARB-KOPIEREN}
{AUSWÄHLEN OBJEKT}
{AUSWÄHLEN-BEREICH-RELATIV 0;-5;0}
{BEARB-EINFÜGEN}
{O 5}{R}~
Bei oo krieg ich alles hin, bis auf das relative einfügen. Der Curser wandert immer zu der zuerst benannten Position, bzw. also nicht dahin wo ich ihn hin haben will. Kann mir da jemand helfen. Im voraus schon mal vielen Dank für Eure Hilfe.
Grüße Quax-von-Baden
Lösung : Ich musste einfach nur im Makro nachträglich manuell "gehe eine Zelle noch oben" einfügen.
Diesen Befehl hat er einfach nicht aufgezeichnet. Nachfolgend der MAKRO
sub Muster
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")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "DbName"
args1(0).Value = "Muster"
dispatcher.executeDispatch(document, ".uno:SelectDB", "", 0, args1())
rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Flags"
args2(0).Value = "R"
dispatcher.executeDispatch(document, ".uno:InsertCell", "", 0, args2())
rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "DbName"
args3(0).Value = "Muster"
dispatcher.executeDispatch(document, ".uno:SelectDB", "", 0, args3())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
rem ----------------------------------------------------------------------
dim args5(0) as new com.sun.star.beans.PropertyValue
args5(0).Name = "DbName"
args5(0).Value = "Muster"
dispatcher.executeDispatch(document, ".uno:SelectDB", "", 0, args5())
rem ----------------------------------------------------------------------
dim args6(1) as new com.sun.star.beans.PropertyValue
args6(0).Name = "By"
args6(0).Value = 1
args6(1).Name = "Sel"
args6(1).Value = false
dispatcher.executeDispatch(document, ".uno:GoUp", "", 0, args6())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())
rem ----------------------------------------------------------------------
dim args8(0) as new com.sun.star.beans.PropertyValue
args8(0).Name = "DbName"
args8(0).Value = "Muster_1"
dispatcher.executeDispatch(document, ".uno:SelectDB", "", 0, args8())
end sub
Ich habe ein Formular (Vermögensaufstellung) in dem wird ein Vermögenswert in einem Bereich erfasst.
Sollten es mehrere Vermögenswerte gleicher Art geben konnte man bisher (noch unter Lotus 1.2.3)
durch Knopfdruck ein weiteres Erfassungsfeld hinzufügen. Bisher habe ich das mit einem Makro gelöst.
{AUSWÄHLEN OBJEKT}
{EINFÜGEN-ZEILEN}
{EINFÜGEN-ZEILEN}
{EINFÜGEN-ZEILEN}
{EINFÜGEN-ZEILEN}
{EINFÜGEN-ZEILEN}
{AUSWÄHLEN MAKROS:A16..MAKROS:AB20;MAKROS:A16}
{BEARB-KOPIEREN}
{AUSWÄHLEN OBJEKT}
{AUSWÄHLEN-BEREICH-RELATIV 0;-5;0}
{BEARB-EINFÜGEN}
{O 5}{R}~
Bei oo krieg ich alles hin, bis auf das relative einfügen. Der Curser wandert immer zu der zuerst benannten Position, bzw. also nicht dahin wo ich ihn hin haben will. Kann mir da jemand helfen. Im voraus schon mal vielen Dank für Eure Hilfe.
Grüße Quax-von-Baden
Lösung : Ich musste einfach nur im Makro nachträglich manuell "gehe eine Zelle noch oben" einfügen.
Diesen Befehl hat er einfach nicht aufgezeichnet. Nachfolgend der MAKRO
sub Muster
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")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "DbName"
args1(0).Value = "Muster"
dispatcher.executeDispatch(document, ".uno:SelectDB", "", 0, args1())
rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Flags"
args2(0).Value = "R"
dispatcher.executeDispatch(document, ".uno:InsertCell", "", 0, args2())
rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "DbName"
args3(0).Value = "Muster"
dispatcher.executeDispatch(document, ".uno:SelectDB", "", 0, args3())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
rem ----------------------------------------------------------------------
dim args5(0) as new com.sun.star.beans.PropertyValue
args5(0).Name = "DbName"
args5(0).Value = "Muster"
dispatcher.executeDispatch(document, ".uno:SelectDB", "", 0, args5())
rem ----------------------------------------------------------------------
dim args6(1) as new com.sun.star.beans.PropertyValue
args6(0).Name = "By"
args6(0).Value = 1
args6(1).Name = "Sel"
args6(1).Value = false
dispatcher.executeDispatch(document, ".uno:GoUp", "", 0, args6())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())
rem ----------------------------------------------------------------------
dim args8(0) as new com.sun.star.beans.PropertyValue
args8(0).Name = "DbName"
args8(0).Value = "Muster_1"
dispatcher.executeDispatch(document, ".uno:SelectDB", "", 0, args8())
end sub