Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 7. 5. 2013 10:44:07

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,435

ChDir

Nevíte někdo jak obejít tuhle nefunkční záležitost? Nechci vytvářet extra nové soubory jen proto, abych vytvořil nový prázdný foldr. Četl jsem nějaké bug-y a tam to řešili třeba přes Python. Ale nic rozumného jsem nenašel.

Předem děkuji


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#2 7. 5. 2013 16:21:23

poky
Člen
Registrace: 23. 9. 2005
Příspěvků: 69

Offline

#3 8. 5. 2013 08:34:39

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,435

Re: ChDir

Buhužel. Ale děkuji za odpověď. To co mi chodí jsou "obezličky" s takovouhle podobou:

'někde do makra, nebo do funkce vložíme toto
'Uložíme aktuální soubor do foldru a pak samotný soubor
'smažeme pomocí příkazu KILL - zůstane prázdný foldr
Dim sFileName As String
Dim sPath As String
Dim sSaveToURL as string       
sPath = "C:\MojeSifry\"
sFileName = "Faktorial.ods"
sSaveToURL = ConvertToURL(sPath & sFileName)
thisComponent.storeToUrl(sSaveToURL, Array(MakePropertyValue("FilterName", "Calc8")))
Kill "C:\MojeSifry\Faktorial.ods"

Je to vopičárna, ale na řádky to vychází téměř stejně jako to co uvádí Pitonyaka navíc to opravdu chodí.



'Od Mantovaniho
Function pmxChDir(sNewDir As String) As String
  Dim  oPathSettings
  oPathSettings = CreateUnoService("com.sun.star.util.PathSettings")
  oPathSettings.Work = ConvertToUrl(sNewDir)
  pmxChDir = oPathSettings.Work
End Function



Function pmxCurDir() As String
  Dim  oPathSettings
  oPathSettings = CreateUnoService("com.sun.star.util.PathSettings")
  'The path of the work folder can be modified according to the user's needs.
  'The path specified here can be seen in the Open or Save dialog.
  pmxCurDir = oPathSettings.Work
End Function

Já to samozřejmě používám vyjímečně pro vytvoření 1 nového foldru, ale potřeboval bych to i pro jiné účely a to už mně "bolí srdce". Ještě jsem také testoval shell, ale zase nevím jestli by to chodilo na Linuxech. Nejspíš to udělám jako funkci, kterou budu volat z maker, ale i tak.

Editoval neutr (8. 5. 2013 08:50:23)


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#4 9. 5. 2013 00:19:36

lp.
Člen
Registrace: 24. 9. 2009
Příspěvků: 842

Re: ChDir

Co vlastně chcete?

ChDir je obvykle příkazem ke změně pracovního adresáře. Z textu ale vyplývá, že chcete vytvořit nový adresář.

Pokud ano, tak příkaz

MkDir("C:\Slozka")

mi funguje, problémů jsem si nevšiml.

Offline

#5 9. 5. 2013 04:54:13

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,435

Re: ChDir

Ano MkDir funguje. Ale já místo vyhledávání a procházení adresářů přímo ukládám. Když foldr existuje, tak se jen zapíše to, co potřebuju. Když ne, tak se vytvoří nová složka. Takže pak nemusím ani nic jiného dělat. Je to hnedle jako s americkejma policajtama, kteří střílí a pak se ptají - já se neptám vůbec a stejně hned střílím. smile
    Bohužel ne vždy si mohu takhle poradit. Nepříjemné je, že takhle nemůžu najít neexistující adresář. Chci například volat externí adresář a ne se ptát, zda FileExists. To je zejména případ s přenosnou pamětí (disk, flash ap.). Také potřebuji tuto notaci k přístupu na ftp. Zavolat to umím, ale neumím v některých případech ošetřit chybu, nebo chci jako klíč jen existující adresář a nechci v kódu uvádět žádné detailní popisy.
    Možná by bylo lepší popsat přímo co chci dělat. Vytvořím na http, ftp, nebo na externím zařízení strukturu adreářů tak aby existoval foldr s názvem každého tisknutelného znaku a k tomu podsložky. Uživatel pak generuje návratovou hodnotu (URL) z určitého textu. Každá URL pak něco vrátí. Pokud tam není dotaz typu "exists", tak uživatel neví co má hledat - a vždy něco najde. Systém nikdy nesmí vrátit pozitivní chybovou hlášku.

Děkuji za odpověď.

Editoval neutr (9. 5. 2013 05:26:29)


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

Zápatí