Variable aus Array() übernehmen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Variable aus Array() übernehmen

von Charly » Di, 07.12.2004 22:32

Hallo Hago!

Das ist das Problem mit dem Makrorekorder. Der benützt eine eigene Programmiersprache und die ist schwer zu durchschauen. Aber es wird vermutlich in Array der Kopierbereich bzw Einfügebereich gespeichert und nicht der Inhalt der Zellen. Allerdings hat Starbasic viele Befehle, mit denen man seine Programme besser schreiben kann als mit dem Makrorekorder.
Wie bekomme ich die Zahl aus C3 als Wert für args5(0).Value ?
Schreib folgendes

Code: Alles auswählen

Dok = ThisComponent
Controller = Dok.CurrentController
Blatt = Controller.ActiveSheet
Zelle = Blatt.getCellRangeByName("C3")
Wert = Zelle.Value
....
args5(0).Value = Wert 
.....
Gruß
Charly

Variable aus Array() übernehmen

von Hago » Di, 07.12.2004 17:21

Hallo,

ich habe ein Makro aufgezeichnet.
Der Inhalt von C3 (eine Zahl) wird kopiert und in C2 eingefügt - das klappt
Nun habe ich versucht, den Inhalt von Array() zu übernehmen, als Wert für "Value" bei "Copies", aber das klappt nicht (ich bin allerdings mit der Syntax nicht vertraut). Aber nach den Fehlermeldungen zu schliessen, scheint das Array leer zu sein. Ich verstehe das nicht.
Der wesentliche Teil daraus hier:
...............
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$C$3"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())

dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "ToPoint"
args3(0).Value = "$B$3"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args3())

dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())

dim args5(2) as new com.sun.star.beans.PropertyValue
args5(0).Name = "Copies"
args5(0).Value = Array()
args5(1).Name = "RangeText"
args5(1).Value = "1"
args5(2).Name = "Collate"
args5(2).Value = false

dispatcher.executeDispatch(document, ".uno:Print", "", 0, args5())
.......................

In C3 steht, wie gesagt, immer einfach eine Zahl.

Wie bekomme ich die Zahl aus C3 als Wert für args5(0).Value ?

Gruß, Hago

Nach oben