Otwieranie katalogu

Makropolecenia i funkcje w języku Basic

Otwieranie katalogu

Postprzez pruszko » Pt paź 29, 2010 11:25 am

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   Rozszerz widokZwiń widok
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 edytowano Pt paź 29, 2010 12:16 pm przez quest-88, łącznie edytowano 2 razy
Powód: dla kodu źródłowego używamy znaczników [code], zmiana tematu
OpenOffice 3.2 na Windows XP/Vista
pruszko
 
Posty: 38
Dołączył(a): Cz lip 29, 2010 9:26 am

Re: Makro w Calku otwierające katalog

Postprzez Jan_J » Pt paź 29, 2010 12:02 pm

W miejsce
Kod: Zaznacz cały   Rozszerz widokZwiń widok
  FP.SetDisplayDirectory("C:\Documents and Settings\PiotrP\Moje dokumenty\")
wstaw
Kod: Zaznacz cały   Rozszerz widokZwiń widok
  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 (6.1|6.2) ∙ AOO 4.1.6 ∙ Python (3.7|2.7) ∙ Unicode 12 ∙ LATEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Fedora|CentOS|SUSE)
Jan_J
 
Posty: 3904
Dołączył(a): Pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Makro w Calku otwierające katalog

Postprzez pruszko » Pt paź 29, 2010 12:14 pm

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
Dołączył(a): Cz lip 29, 2010 9:26 am

Re: Otwieranie katalogu

Postprzez pruszko » Pt paź 29, 2010 6:06 pm

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
pruszko
 
Posty: 38
Dołączył(a): Cz lip 29, 2010 9:26 am

Re: Otwieranie katalogu

Postprzez Jan_J » Pt paź 29, 2010 10:05 pm

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 (6.1|6.2) ∙ AOO 4.1.6 ∙ Python (3.7|2.7) ∙ Unicode 12 ∙ LATEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Fedora|CentOS|SUSE)
Jan_J
 
Posty: 3904
Dołączył(a): Pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław


Powrót do Basic

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość