Wątek przeniesiony 2021-01-28 13:25 z Inne języki programowania przez cerrato.

Kopiowanie plików - vba

0

A jeszcze jedno pytanie. W folderze mam odkładane raporty. Ich nazwa codziennie to
Aaaa_datagenerowania_godzina.txt
Ta część Aaaa jest zawsze stała. Chciałbym aby makro kopiowalo mi tylko dokładnie ten plik. W momencie kopiowania jestem pewny jaka jest data ale nie znam godziny. Jak to ominąć? Tzn. chce żeby makro czytało tylko fragment nazwy pliku i kopiowalo go do okreslonej lokalizacji.

0
f = dir("c:\folder\aaaa_20191119_*.txt")
If f <> "" Then
    'kopiuj plik w zmiennej masz nazwe pliku, jeśli znalazł
End If
0

Występuje błąd Bad file name or number :(

0

Pokaż kod, który wykonujesz.

0

Sub kopiowanie()

Dim source, dest as string
Dim data as string

Data = format(date,"yyyymmdd")
Source = "c:\users\piotr\desktop\nowy\plik_" & data & "_" & "*.txt"
Dest = "c:\users\piotr\desktop\nowy_1\plik.txt"
Copyfile source, dest

End sub

0
Sub kopiowanie()

Dim source As string, dest as string, f as string
Dim data as string

Data = format(date,"yyyymmdd")
Source = "c:\users\piotr\desktop\nowy\plik" & data & "" & "*.txt"
Dest = "c:\users\piotr\desktop\nowy_1\plik.txt"

f = dir(Source)
If f <> "" Then
    'kopiuj plik w zmiennej masz nazwe pliku, jeśli znalazł
   Copyfile f, dest
End If

End sub
0

Wyskakuje błąd File not found

0

Wstaw przed CopyFile:

MsgBox f

i zobacz, jaki plik ci znajduje.
Ok, już wiem...
zamień:

CopyFile F, Dest

na:

CopyFile "c:\users\piotr\desktop\nowy\" & f, dest
0

Działa. Dziękuję!

1 użytkowników online, w tym zalogowanych: 0, gości: 1