Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ścieżka bieżącego pliku w makro VBA

6,614 views
Skip to first unread message

k2l

unread,
Jul 16, 2008, 7:28:50 AM7/16/08
to
Jak w Office macro odczytać ścieżkę bieżącego pliku np.excela. W
"starym,dobrym DOS-ie" wystarczyło napisać >cd i zwracał bieżącą ścieżkę. A
jak jest w VBA. Polecenie xx = CurDir$ zwraca jedynie bieżący ROBOCZY folder
(domyślnie Moje Dokumenty). Dla próby -> utwórz plik excela na pulpicie i
makro ma zwrócić ścierzkę do pulpitu.

tedmi

unread,
Jul 16, 2008, 8:47:12 AM7/16/08
to
xx = Application.Path
--
TedMi

k2l

unread,
Jul 16, 2008, 9:00:25 AM7/16/08
to

"tedmi" wrote:

> xx = Application.Path
> --
> TedMi
>
Niestety Office 2007 zwraca katalog z którego uruchamiany jest program
"Excel" a nie plik z pulpitu

k2l

unread,
Jul 16, 2008, 10:51:04 AM7/16/08
to

"k2l" wrote:

Sm doszedłem:
xx=xx = ActiveWorkbook.Path -> i to jest ścieżka otwartego pliku
UWAGA: xx NIE ZAWIERA bakslasza na końcu stosować xx & "\" & name_lpik

Michal AKA Miki

unread,
Jul 16, 2008, 7:12:43 PM7/16/08
to

Użytkownik "k2l" <k...@discussions.microsoft.com> napisał w wiadomości
news:1B444D5A-D7BB-42A8...@microsoft.com...

Mala uwaga - jesli mowisz o sciezce do pliku excela, ktory wlasnie jest
aktywny, to rzeczywiscie moze byc ActiveWorkbook.Path.
Jesli jednak chodzi ci o sciezke do pliku excela, ktory uruchamia makro, to
bedzie raczej ThisWorkbook.Path.

Roznica:
Jesli otwierasz plik excela z pulpitu (tego z makrem), a drugi plik excela z
dysku D, to twoja metoda moze zwrocic 2 rozne wyniki, w zaleznosci od tego,
ktory arkusz bedzie w danej chwili aktywny (wyswietlany). Druga metoda
zwroci w tym przykladzie ZAWSZE sciezke do pulpitu.

Pozdrawiam
Michal

k2l

unread,
Jul 17, 2008, 6:31:02 AM7/17/08
to
Dziękuję za wyczerpującą odpowiedź !! To polecenie rozwiązuje mój problem.

PS.
Czy jest gdzieś przetłumaczony na polski "język" VBA lub VB?
Głównie chodzi o skojarzenia typu < Active.Cell.Range.Name.Text text="abc" >
tzn. "tekst nazwy zakresu aktywnych komórek ma wartość abc"
albo różnica między "Name" a "Names".

"Michal AKA Miki" wrote:

>
> ...[CIACH]

Michal AKA Miki

unread,
Jul 17, 2008, 3:53:16 PM7/17/08
to

Użytkownik "k2l" <k...@discussions.microsoft.com> napisał w wiadomości
news:8259CEBE-200C-4D34...@microsoft.com...

> Czy jest gdzieś przetłumaczony na polski "język" VBA lub VB?
> Głównie chodzi o skojarzenia typu < Active.Cell.Range.Name.Text text="abc"
> >
> tzn. "tekst nazwy zakresu aktywnych komórek ma wartość abc"
> albo różnica między "Name" a "Names".

Nie ma polskiego jezyka programowania, jesli o to ci chodzi...
Rowniez (o ile mi wiadomo) nie ma polskich wersji obiektow typu ActiveCell,
ActiveWorkbook, ThisWorkbook itp. i raczej nie ma to sensu, poniewaz rynek
polski jest zbyt maly, aby tego typu ekstrawagancje przyjac.

Duzo do VBA po polsku znajdziesz w helpie microsofta (excel, word itp, o ile
zainstalowales). Tam tez pewnie spotkasz sie z pojeciami takimi jak kolekcja
(np. Names), obiekt czy wlasnosc/wlasciwosc (np. Name). Jednak to o co
pytasz do dosc spora porcja teorii programowania obiektowego - temat jest
zbyt szeroki, zeby go tu opisywac.

Pozdrawiam
Michal

0 new messages