Discussion:
VBA GetOpenFilename
(Wiadomość utworzona zbyt dawno temu. Odpowiedź niemożliwa.)
Miron
2006-11-24 13:01:34 UTC
Permalink
Witam

czy kto¶ z Was wie jak zrobiæ ¶cie¿kê dostêpu do katalogu wywo³ywanego
pliku,
u mnie jest tak:

Filenamexls = Application.GetOpenFilename( _
FileFilter:="Wszystkie pliki Microsoft Excel (*.*), *.*", _
Title:="Jakis tytu³")

w tym przypadku domy¶lny katalog jest ten z którego odpala sie makro,
a ja bym chcia³ sam ustaliæ jaki katalog by³by domy¶lny.
Niestety bajer typu
FileFilter:="Wszystkie pliki Microsoft Excel (*.*), E:\nowa¶cie¿ka\*.*"
nie dzia³a.

I drugie pytanie , jak zrobiæ, ¿eby w stworzonym ju¿ formularzu wstawiæ
ListBox w którym
by³yby pliki z danego katalogu wy¶wietlone i mo¿liwe do wybrania
(alternatywa do
pierwszego problemu opisanego wy¿ej)

Je¶li kto¶ wie, to prosze o wskazówki.

pozdrawiam
Tajan
2006-11-24 13:46:40 UTC
Permalink
Witam
czy ktoś z Was wie jak zrobić ścieżkę dostępu do katalogu wywoływanego
pliku,
Filenamexls = Application.GetOpenFilename( _
FileFilter:="Wszystkie pliki Microsoft Excel (*.*), *.*", _
Title:="Jakis tytuł")
w tym przypadku domyślny katalog jest ten z którego odpala sie makro,
a ja bym chciał sam ustalić jaki katalog byłby domyślny.
Niestety bajer typu
FileFilter:="Wszystkie pliki Microsoft Excel (*.*), E:\nowaścieżka\*.*"
nie działa.
Po prostu, przed wyświetleniem okna, zmień scieżkę bieżącą:

ChDir "C:\nowa_sciezka"
Filenamexls = Application.GetOpenFilename( _
FileFilter:="Wszystkie pliki Microsoft Excel (*.*), *.*", _
Title:="Jakis tytuł")
I drugie pytanie , jak zrobić, żeby w stworzonym już formularzu wstawić
ListBox w którym
byłyby pliki z danego katalogu wyświetlone i możliwe do wybrania
(alternatywa do
pierwszego problemu opisanego wyżej)
Możesz posłużyć się zwykłą funkcją Dir, pobierając za jej pomocą kolejne nazwy
plików i dodając je do ListBoxa. Możesz to zrobić np. w zarzeniu Activate
formularza:

Private Sub UserForm_Activate()
ListBox1.Clear
plik = Dir("c:\sciezka_do_plikow\*.xls")
Do While plik <> ""
ListBox1.AddItem plik
plik = Dir
Loop
End Sub

Tajan
Miron
2007-01-09 13:40:43 UTC
Permalink
Tajan - wielkie dzieki za odpowiedŒ.
By³a bardzo pomocna.


W zwi±zku z tym ¿e t± odpowiedŒ znalaz³em w internecie :) blisko 2 m-ce po
wys³aniu pytania na grupê a nie dosta³em jej na grupie odbieranej na
outlooku ( zak³adam, ¿e inni te¿ jej nie otrzymali ) zamiesze j± osobi¶cie
pod spodem:

-----------------------------------------------------------------------------------------------------------------
http://www.grupydyskusyjne.pl/ms-news.pl.officexp/6802,VBA_GetOpenFilename.html

W artykule news:ek6qp1$nk0$***@nemesis.news.tpi.pl,
niejaki(a): Miron z adresu <***@o2.pl> napisa³(a):


Witam

czy kto¶ z Was wie jak zrobiæ ¶cie¿kê dostêpu do katalogu wywo³ywanego
pliku,
u mnie jest tak:

Filenamexls = Application.GetOpenFilename( _
FileFilter:="Wszystkie pliki Microsoft Excel (*.*), *.*", _
Title:="Jakis tytu³")

w tym przypadku domy¶lny katalog jest ten z którego odpala sie makro,
a ja bym chcia³ sam ustaliæ jaki katalog by³by domy¶lny.
Niestety bajer typu
FileFilter:="Wszystkie pliki Microsoft Excel (*.*), E:\nowa¶cie¿ka\*.*"
nie dzia³a.



Po prostu, przed wy¶wietleniem okna, zmieñ scie¿kê bie¿±c±:

ChDir "C:\nowa_sciezka"
Filenamexls = Application.GetOpenFilename( _
FileFilter:="Wszystkie pliki Microsoft Excel (*.*), *.*", _
Title:="Jakis tytu³")



I drugie pytanie , jak zrobiæ, ¿eby w stworzonym ju¿ formularzu wstawiæ
ListBox w którym
by³yby pliki z danego katalogu wy¶wietlone i mo¿liwe do wybrania
(alternatywa do
pierwszego problemu opisanego wy¿ej)



Mo¿esz pos³u¿yæ siê zwyk³± funkcj± Dir, pobieraj±c za jej pomoc± kolejne
nazwy
plików i dodaj±c je do ListBoxa. Mo¿esz to zrobiæ np. w zarzeniu Activate
formularza:

Private Sub UserForm_Activate()
ListBox1.Clear
plik = Dir("c:\sciezka_do_plikow\*.xls")
Do While plik <> ""
ListBox1.AddItem plik
plik = Dir
Loop
End Sub

Tajan
---------------------------------------------------------------------------------------------------------------
Loading...