Zdravíčko, narazil jsem na podivný problém.
Před léty jsem psal pro kolegyni makro na automatické načtení dvou sešitů ( každý z jiného souboru ) do jednoho sešitu … a pak nějaké operace s tím.
Pracovala na stařičkém PC s XP.
Teď má novou mašinku, a makro nefunguje. Dlouhým bádáním jsem zjistil, že volání uno:paste tiše selže.
Procházel jsem web, hledal na googlu, žádné řešení jsem nenašel. Máte někdo s tím zkušenost? Jak to znovu rozchodit ?
Makro má tuto funkci, která v kroku paste nedělá nic ( jak jsem zjistil - poslední verze,. kde ještě funguje je LOO 5.2.0 ) :
sub import_first_sheet(byref oSrcBook, byref oTarBook, byref oSheet)
dim Dummy()
oTarBook.getCurrentController.Select(osheet)
oSrcBook.getCurrentController.select(oSrcBook.Sheets.getByIndex(0))
dispatchURL(oSrcBook,".uno:SelectAll")
dispatchURL(oSrcBook,".uno:Copy")
oTargetCell = oSheet.getCellByPosition(0,0)
oTarBook.getCurrentController.Select(TargetCell)
dispatchURL(oTarBook,".uno:Paste")
oSrcBook.Close(True)
end sub
tuto funkci jsem obšlehl někde na netu kdysi dávno, byla součástí makra kopírujícího celý list do jiného sešitu, nevím jak funguje ale tehdy to fungovalo
Sub dispatchURL(document, aURL)
Dim noProps()
Dim URL as new com.sun.star.util.URL
frame = document.getCurrentController().getFrame()
URL.Complete = aURL
transf = createUnoService("com.sun.star.util.URLTransformer")
transf.parseStrict(URL)
disp = frame.queryDispatch(URL, "", com.sun.star.frame.FrameSearchFlag.SELF OR com.sun.star.frame.FrameSearchFlag.CHILDREN)
disp.dispatch(URL, noProps())
End Sub
Díky za každé popostrčení.
Milan