Opgelost Omzetten van een formule (Calc) naar zijn waarde
Geplaatst: za okt 09, 2010 1:31 pm
Hieronder een macro, opgenomen met de macrorecorder, die in de range ("E23:G23") de WAARDE
van de formules in range ("H23:J23") invult.
Nu had ik graag hetzelfde effect echter zonder gebruik te maken van het clipboard. Dit vooral om een snellere
doorloop van de macro te bekomen en ook om flikkeren op het scherm te vermijden.
Al dagen op het internet gezocht maar nog geen bevredigende oplossing gevonden.
Wie kan en wil mij helpen?
Dank bij voorbaat
sub KopyWaarden
dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$H$23:$J$23"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args3()) 'gaat naar het bronbereik
dispatcher.executeDispatch(document, ".uno:Copyrange", "", 0, Array()) 'kopieert naar Clipboard
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ToPoint"
args2(0).Value = "$E$23:$G$23"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args5()) 'gaat naar het doelbereik
dim args3(5) as new com.sun.star.beans.PropertyValue
args3(0).Name = "Flags"
args3(0).Value = "V"
dispatcher.executeDispatch(document, ".uno:InsertContents", "", 0, args6()) ' vult de WAARDE van de formule, in het clipboard, in
end sub
van de formules in range ("H23:J23") invult.
Nu had ik graag hetzelfde effect echter zonder gebruik te maken van het clipboard. Dit vooral om een snellere
doorloop van de macro te bekomen en ook om flikkeren op het scherm te vermijden.
Al dagen op het internet gezocht maar nog geen bevredigende oplossing gevonden.
Wie kan en wil mij helpen?
Dank bij voorbaat
sub KopyWaarden
dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$H$23:$J$23"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args3()) 'gaat naar het bronbereik
dispatcher.executeDispatch(document, ".uno:Copyrange", "", 0, Array()) 'kopieert naar Clipboard
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ToPoint"
args2(0).Value = "$E$23:$G$23"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args5()) 'gaat naar het doelbereik
dim args3(5) as new com.sun.star.beans.PropertyValue
args3(0).Name = "Flags"
args3(0).Value = "V"
dispatcher.executeDispatch(document, ".uno:InsertContents", "", 0, args6()) ' vult de WAARDE van de formule, in het clipboard, in
end sub