Dobrý den
Prosím o radu:
mám dva soubory, jeden jako hlavní - jedno z maker otvírá druhý soubor, který je zdrojem a editorem dat a obsahuje makro pro přenos dat do hlavního sešitu. Problém spočívá v tom, že při ladění mi obě makra šla správně (podmínky vypsány):
hlavní souubor otevřen, otevřený dialog
datový soubor otevřen ručně z OO, funkční
makro pro přenos dat spojeno s tlačítkem na liště, data překopíruje, makro projde korektně (ověřeno krokováním)
Pokud vše pustím v ostrém provozu (podmínky vypsány), makro pro přenos dat se nespustí
hlavní souubor otevřen, otevřený dialog
datový soubor otevřen makrem z hlavního, stav OK
makro spojeno s tlačítkem na liště, makro se nespustí, OO na příslušné makro vůbec neskočí (ověřeno krokováním)
zde makro pro otevření datového souboru
Sub sort_Fread
Fondy = thisComponent
Strana_1 = fondy.sheets(1)
Strana_2 = fondy.sheets(2)
dim sURL as string
dim Market_data as object
srcURL = "E:\Users\Tata\Documents\Penize\3_Fondy_RB\Market_data.ods"
convURL = ConvertToURL(srcURL)
infobox = sort_base.getcontrol("infobox_sort")
dim oDoc as object, eDocs as object
set eDocs = StarDesktop.Components.CreateEnumeration
Strana_2.getcellrangebyname("A6").value = 0
do while eDocs.hasMoreElements
set oDoc = eDocs.NextElement
if oDoc.ImplementationName="ScModelObj" and ConvertFromURL(oDoc.URL) = srcURL then
Strana_2.getcellrangebyname("A6").value = 1
endif
loop
if Strana_2.getcellrangebyname("A6").value = 0 then
Market_data_file = StarDesktop.loadComponentFromURL(convURL," ",0,Array())
endif
str1 = "Soubor dat obchodů je otevřen - proveďdte aktualizaci"
end sub
zde makro pro přenos dat (uloženo v knihovně "Standard" jako dokumentové makro
sub Send
Market_data = thisComponent
StarDesktop.Frames("Fondy_RB_17-02-06.ods - OpenOffice Calc").activate
Fondy = StarDesktop.getCurrentComponent()
Strana_0 = Market_data.sheets(0)
row_act = Strana_0.rows
row_act.removebyindex(0,1)
src_data = Market_data.Sheets(0)
Market_data.Currentcontroller.select(src_data)
packet = Market_data.CurrentController.getTransferable()
Target_arrea = Fondy.Sheets(1).getCellRangeByName("A1")
Fondy.CurrentController.select(Target_arrea)
Fondy.CurrentController.insertTransferable(packet)
end sub
Děkuju Martin