Otwieranie katalogu

Makropolecenia i funkcje w języku Basic
pruszko
Posty: 38
Rejestracja: czw lip 29, 2010 9:26 am

Otwieranie katalogu

Post 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ć? :?
Ostatnio zmieniony pt paź 29, 2010 12:16 pm przez quest-88, łącznie zmieniany 2 razy.
Powód: dla kodu źródłowego używamy znaczników [code], zmiana tematu
OpenOffice 3.2 na Windows XP/Vista
Jan_J
Posty: 4583
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Makro w Calku otwierające katalog

Post 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?
JJ
LO (24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
pruszko
Posty: 38
Rejestracja: czw lip 29, 2010 9:26 am

Re: Makro w Calku otwierające katalog

Post autor: pruszko »

Tak o to chodziło! :D
Do prawdy jestem pod wrażeniem
Wielkie dzięki! :D
OpenOffice 3.2 na Windows XP/Vista
pruszko
Posty: 38
Rejestracja: czw lip 29, 2010 9:26 am

Re: Otwieranie katalogu

Post 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ę?
OpenOffice 3.2 na Windows XP/Vista
Jan_J
Posty: 4583
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Otwieranie katalogu

Post 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.
JJ
LO (24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
ODPOWIEDZ