dan maar zo
dan maar zo
zoals in eerdere mails gezegd ben ik aan het overstappen van Excel >
naar LO > voor wat het gewone gebruik van Calc aangaat (dat is zonder
macro's > trek ik mij nu na een week al aardig uit de slag > voor wat
macro's aangaat worstel ik nu met volgend probleem > ik heb de macto
"smartcopy" genoemd de bedoeling is in het algemeen > een reeks
gegevens nar een bepaald plaats te copiëren > dat kan een vaste gegevens
reeks zijn of een bereik van veranderlijke > lengte en de pallats waar
de gegevens moeten komen is veranderlijk vb > aan het einde van een
groeiende lijst > hoe werkt dat (=zou het moeten werken) > via
tekstmanipulatie via een aantalfunktie zet ik in een bepaalde cel > (h5)
het bereik dat moet gekopiëerd worden bvb b5:d12 > analoog komt er dan
in H8 bvb a34 > Het is bekend (ook in Excel dat je wel een range kunt
definiëren via > een indirect functie maar dat die dan wel niet in het
"naamvenstertje > staan > maar in VBA kan je ze nog oproepen > ik heb
dus in mijn macrocode de en analoog omweg gebruikt via dim > ...as
tring en dan die string de inhoud gegeven via getcellbyname en > analoog
voor de doelcel > Macro is in bijlage maar die wil niet werken >
overigens weigert de step by step knop ook dienst zogezegd omwille van >
beveiliging maar die stond OK > > wat doe ik fout ?????? > Julien >
REM ***** BASIC *****
sub smartcopy
rem
----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
dim datarange as string
dim placetogo as string
datarange=thisComponent.currentControler.activeSheet.getCellRangebyName("H5").value
placetogo=thisComponent.currentControler.activeSheet.getCellRangebyName("H8").value
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 = "ToPoint"
args1(0).Value = "datarange"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
rem
----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
rem
----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "ToPoint"
args3(0).Value = "placetogo"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args3())
rem
----------------------------------------------------------------------
dim args4(5) as new com.sun.star.beans.PropertyValue
args4(0).Name = "Flags"
args4(0).Value = "SVD"
args4(1).Name = "FormulaCommand"
args4(1).Value = 0
args4(2).Name = "SkipEmptyCells"
args4(2).Value = false
args4(3).Name = "Transpose"
args4(3).Value = false
args4(4).Name = "AsLink"
args4(4).Value = false
args4(5).Name = "MoveMode"
args4(5).Value = 4
dispatcher.executeDispatch(document, ".uno:InsertContents", "", 0,
args4())
rem
----------------------------------------------------------------------
rem dispatcher.executeDispatch(document,
".uno:TerminateInplaceActivation", "", 0, Array())
rem
----------------------------------------------------------------------
rem dispatcher.executeDispatch(document, ".uno:Cancel", "", 0, Array())
end sub
--
Unsubscribe instructions: E-mail to [email protected]
Posting guidelines + more: https://wiki.documentfoundation.org/Netiquette
List archive: https://listarchives.libreoffice.org/nl/users/
Privacy Policy: https://www.documentfoundation.org/privacy