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

Sztuczki w VBA

1,387 views
Skip to first unread message

Karol MARCHEWKA

unread,
Jan 7, 2010, 4:22:57 PM1/7/10
to
Jak za pomocą VBA sprawdzić czy dany folder istnieje, a jeżeli nie to go
utworzyć.

--

Pozdrawiam
Karol MARCHEWKA

http://marchewka.110mb.com

MiM

unread,
Jan 7, 2010, 4:52:58 PM1/7/10
to

Użytkownik "Karol MARCHEWKA" <Kontakt...@StronieWWW.pl> napisał w
wiadomości news:hi5jbj$24fo$2...@news.ett.com.ua...

> Jak za pomocą VBA sprawdzić czy dany folder istnieje, a jeżeli nie to go
> utworzyć.

Dir i MkDir

Karol MARCHEWKA

unread,
Jan 8, 2010, 12:25:13 PM1/8/10
to
Jeżeli w kwerendzie dla pola [Imię] podam warunek: like "Jan*" to
uzyskam wszystkich Janów, Januarych, Janiny, Jacentych...

Jeżeli w VBA wpiszę:

Dim Path As String
Dim File As String
Path = CurrentDb.Name
File = Dir(Path)
If File like "BackUp*" then exit function

... to nawet przy odpowiedniej nazwie pliku acc nie zachowuje się tak
jakby sobie tego życzył
Nie pomaga również:
If File = "BackUp*"...
czy
If File like "BackUp" & "*"

Jak powinien wyglądać taki zapis?

Przemysław Rachwał

unread,
Jan 8, 2010, 1:01:09 PM1/8/10
to
W dniu 2010-01-08 18:25, Karol MARCHEWKA pisze:

> Jeżeli w kwerendzie dla pola [Imię] podam warunek: like "Jan*" to
> uzyskam wszystkich Janów, Januarych, Janiny, Jacentych...
>
> Jeżeli w VBA wpiszę:
>
> Dim Path As String
> Dim File As String
> Path = CurrentDb.Name
> File = Dir(Path)
> If File like "BackUp*" then exit function
>
> ... to nawet przy odpowiedniej nazwie pliku acc nie zachowuje się tak
> jakby sobie tego życzył
> Nie pomaga również:
> If File = "BackUp*"...
> czy
> If File like "BackUp" & "*"
>
> Jak powinien wyglądać taki zapis?

if dir(pełna_ścieżka_do_pliku)<>"" then
'jest
else
'nie ma
end if

--
Przemek

Rafa� Kwacza�a

unread,
Jan 8, 2010, 1:31:04 PM1/8/10
to

U�ytkownik "Karol MARCHEWKA" <Kontakt...@StronieWWW.pl> napisa� w
wiadomo�ci news:hi5jbj$24fo$2...@news.ett.com.ua...
> Jak za pomoc� VBA sprawdzi� czy dany folder istnieje, a je�eli nie to go
> utworzy�.
>

U�yj funkcji Dir, kt�ra zwraca warto�� typu String reprezentuj�c� nazw�
pliku, katalogu lub folderu, kt�ra odpowiada okre�lonemu wzorcowi,
atrybutowi pliku albo etykiecie dysku.
Mo�esz to zrobi� np. tak:

sciezka="C:\Katalog"
If Len(Dir(sciezka, vbDirectory)) = 0 Then MkDir sciezka

Je�eli nie dzia�a to zamiast sta�ej vbDirectory wstaw 16 (powinno dzia�ac
poniewa� sta�a jest zdefiniowana przez system Visual Basic for Applications
i mo�e by� stosowana w dowolnym miejscu kodu programu zamiast rzeczywistych
warto�ci).

--
Pozdrawiam
Rafa� Kwacza�a

Karol MARCHEWKA

unread,
Jan 8, 2010, 5:22:56 PM1/8/10
to
W dniu 2010-01-08 19:01, Przemysław Rachwał pisze:

> if dir(pełna_ścieżka_do_pliku)<>"" then
> 'jest
> else
> 'nie ma
> end if

ale gdzie tu wstawić "stały początek" nazwy pliku "BackUp" ?

Przemysław Rachwał

unread,
Jan 8, 2010, 5:54:50 PM1/8/10
to
W dniu 2010-01-08 23:22, Karol MARCHEWKA pisze:

> W dniu 2010-01-08 19:01, Przemysław Rachwał pisze:
>
>> if dir(pełna_ścieżka_do_pliku)<>"" then
>> 'jest
>> else
>> 'nie ma
>> end if
>
> ale gdzie tu wstawić "stały początek" nazwy pliku "BackUp" ?
>

pełna_ścieżka_do_pliku = "c:\jakis katalog\podkatalog\backup*.*

--
Przemek

Karol MARCHEWKA

unread,
Jan 8, 2010, 7:19:41 PM1/8/10
to
W dniu 2010-01-07 22:22, Karol MARCHEWKA pisze:

> Jak za pomocą VBA sprawdzić czy dany folder istnieje, a jeżeli nie to go
> utworzyć.

Czy istnieje możliwość oprogramowania selektora rekordów w taki sposób
http://www.access.vis.pl/af0222.htm nie tylko w formularzu ciągłym, ale
również w widoku arkusza danych (zależy mi na możliwości regulowania
szerokości kolumn)

Jacek

unread,
Jan 9, 2010, 1:28:48 AM1/9/10
to

Krzysztof Naworyta

unread,
Jan 11, 2010, 1:44:44 PM1/11/10
to
Juzer Karol MARCHEWKA <Kontakt...@StronieWWW.pl> napisał

| Jak za pomocą VBA sprawdzić czy dany folder istnieje, a jeżeli nie to go
| utworzyć.

Polecam: MakeSureDirectoryPathExists (API)
Pamiętaj tylko aby argument kończył się ukośnikiem, bo inaczej ostatni
"katalog" zostanie pominięty.
Możesz przekazać cały nieistniejący łańcuch, np: C:\A\B\C\D\E\F\G\H\
Ta funkcja stworzy całą gałąź, o ile uprawnienia użytkownika na to
pozwalają...

--
KN

archiwum grupy:
http://groups.google.pl/advanced_search
(grupa: pl*msaccess)

Krzysztof Naworyta

unread,
Jan 11, 2010, 1:46:24 PM1/11/10
to
Juzer Karol MARCHEWKA <Kontakt...@StronieWWW.pl> napisał
| Jeżeli w kwerendzie dla pola [Imię] podam warunek: like "Jan*" to
| uzyskam wszystkich Janów, Januarych, Janiny, Jacentych...
|
| Jeżeli w VBA wpiszę:
|
| Dim Path As String
| Dim File As String
| Path = CurrentDb.Name
| File = Dir(Path)
| If File like "BackUp*" then exit function
|
| ... to nawet przy odpowiedniej nazwie pliku acc nie zachowuje się tak
| jakby sobie tego życzył


ep? u mnie tego rodzaju zapis w kodzie zawsze działał (!!!)

Karol MARCHEWKA

unread,
Jan 11, 2010, 3:52:21 PM1/11/10
to
W dniu 2010-01-11 19:44, Krzysztof Naworyta pisze:

> Polecam: MakeSureDirectoryPathExists (API)
> Pamiętaj tylko aby argument kończył się ukośnikiem, bo inaczej ostatni
> "katalog" zostanie pominięty.
> Możesz przekazać cały nieistniejący łańcuch, np: C:\A\B\C\D\E\F\G\H\
> Ta funkcja stworzy całą gałąź, o ile uprawnienia użytkownika na to
> pozwalają...
>

Super :-)
Bajer z tworzeniem zagnieżdżonych rekordów pozwoli mi grupowanie kopii
bezpieczeństwa w zależności od dnia
miesiąca/tygodnia/płodności/niepłodności*

* właściwe skreślić wg potrzeb

0 new messages