j-pastierik napsal(a)Super, ja mám tento problém: potrebujem zatvoriť súbor, ktorý je otvorený a prepnúť sa do pôvodného. Ako vidím, tak to asi dokážem teraz vyriešiť - najprv sa prepnem do pôvodného a potom zatvorím ten druhý:
oSubor.store() ' uloží zmeny
oSubor.dispose() ' zatvorí súbor
xray je dobrý pomocník, ale niekedy je to na dlhé hľadanie :-)
 Ja to tak nerobím, ale zatváram ho hneď (neprepínam sa do pvôvodného).
Mám to tak,že skopírujem dáta z pôvodného dokumentu v ktorom pracujem  potom otvorím dokument ktorý mi slúži ako databáza tam vložím údaje uložím a zavriem a potom uložím a zavriem pvôvodný. Toto mi v pohode šlo aj predtým.
Tento problém (s prepínaním) mi vznikol až vtedy keď som potreboval skopírovať z pvôvodného dokumentu nejaké dáta dva krát(rozdielne) nešlo to a preto som musel hľadať riešenie ako ho znovu aktivujem.
PS:mám narobených dosť univerzálnych makier pre Calc na otváranie, zatváranie,uloženie, uloženie ako,prepínanie medzi listami, vkladanie do buniek,zoradenie dát a iné.
Niekde to môžem zakvačiť.Poprípade ak by mi tu povolili blog mohol by som to dať tam:)
Alebo čo tak pokračovanie Vášho seriálu tentoraz pre calc?
Nejaké makro na zatváranie a ukladanie zošitov kde sa netreba prepínať do iného dokumentu zavrie ho aj keď je aktívny:
takže makro sa volá s parametrom cesta (windowsáci si ju samozrejme zmenia na trebárs C:\ atd.)
sub makro
uloz_zosit("/media/................/databázy/cenníky.ods") 
end sub
sub uloz_zosit(optional cesta as string)
dim oDoc, eDocs as object
  set eDocs = StarDesktop.Components.CreateEnumeration' vytvor kolekciu otvorenych dokumentov
  on error goto DALSI  'ak by bola chyba
  do while eDocs.hasMoreElements ' prejdi kolekciu dokumentov
    set oDoc = eDocs.NextElement 
     if oDoc.ImplementationName="ScModelObj" then ' pokiaľ je to zošit   
      if(ConvertFromURL(oDoc.URL))=cesta then ' a je to hladany zošit
        oDoc.Store() ' tak ho uloz
        oDoc.Close(true) ' a zavri
        exit sub '  končíme
      end if
    end if
DALSI:
  loop
end sub
 
					 
					
LO 5.1.6  platforma Ubuntu-linux 16.04