Strona 1 z 1

Otwieranie katalogu

: pt paź 29, 2010 11:25 am
autor: pruszko
Witam Wszystkich :D

Mam znowu prośbę o pomoc :)
takie oto makro w pliku calc które otwiera mi wybrany katalog:

Kod: Zaznacz cały

REM  *****  BASIC  *****
Sub otworz_katalog() 
Dim FP As Object 
Dim ShExec As Object 
Dim X As Integer 
FP = CreateUnoService("com.sun.star.ui.dialogs.FilePicker") 
FP.SetDisplayDirectory("C:\Documents and Settings\PiotrP\Moje dokumenty\") 
FP.appendFilter("All files", "*.*") 
X = FP.Execute() 
If X = 1 Then 
ShExec = createUnoService("com.sun.star.system.SystemShellExecute") 
ShExec.execute(FP.Files(0), "", 0) 
End If 
End Sub
no i wsio ok, ale teraz mam potrzebę aby to makro otwierało katalog, w którym jest zapisany ten plik , w którym to makro jest zaszyte. Tzn jak wyślę komuś plik calc z makrem to nie wiem gdzie on sobie go zapisze więc nie jestem w stanie okreslić w tym makrze ścieżki. Makro to ma otwierać lokalizację pliku , he ale jak to zrobić? :?

Re: Makro w Calku otwierające katalog

: pt paź 29, 2010 12:02 pm
autor: Jan_J
W miejsce

Kod: Zaznacz cały

  FP.SetDisplayDirectory("C:\Documents and Settings\PiotrP\Moje dokumenty\") 
wstaw

Kod: Zaznacz cały

  dim n as integer
  q = split(thisComponent.Location, "/")
  n = ubound(q)
  redim preserve q(n-1)
  FP.SetDisplayDirectory(join(q, "/") & "/")
Da się to napisać ładniej.

Czy o to chodziło?

Re: Makro w Calku otwierające katalog

: pt paź 29, 2010 12:14 pm
autor: pruszko
Tak o to chodziło! :D
Do prawdy jestem pod wrażeniem
Wielkie dzięki! :D

Re: Otwieranie katalogu

: pt paź 29, 2010 6:06 pm
autor: pruszko
Jan,
Dopiero teraz udało mi się dokonac testu na innym kompie.
Efekt jest taki że otwiera się katalog z programem OpenOffice a nie puplit gdzie umieściłem ten plik, coś jest nie tak chyba. A może to dla tego że ten komputer ma vistę?

Re: Otwieranie katalogu

: pt paź 29, 2010 10:05 pm
autor: Jan_J
Kod obliczający kartotekę przez usunięcia nazwy pliku jest niezależny od systemu.
OpenOffice używa "/" jako separatora katalogów w ścieżce, tak jak w URL-ach, także pod Windows.

Trudno mi w tym momencie samemu sprawdzić, bo nie mam Windowsa XP pod ręką, a Visty w ogóle.