Szybka zmiana nazwy pliku

Jak szybko zmienić nazwę pliku na dysku?  Można to zrobić kilkoma  różnymi sposobami, np. z wykorzystaniem metod obiektu FileSystemObject:
Przenoszenie pliku
Można tez wykorzystać proste wyrażenie VBA Name.
Działa to tak:

Name StaraNazwa  As NowaNazwa

Zarówno stara jak i nowa nazwa pliku muszą być pełne.  W ten sposób można przenosić pliki również między różnymi dyskami., oczywiście na tym drugim dysku istnieją odpowiednie foldery.

Przykładowy kod może wyglądać tak:

Public Sub ZmianaNazwy()
Dim StaraNazwa As String
Dim NowaNazwa As String
StaraNazwa = “E:\AKTUAL\Wprawki\Obraz1.jpg”
NowaNazwa = “E:Aktual\Wprawki\Obrazy\Obraz2.jpg”
Name StaraNazwa As NowaNazwa
End Sub

Najczęściej występujące błędy wykonania w tym przypadku to:

    • brak pliku do przeniesienia – błąd 53
    • brak folderu na miejscu docelowym przenoszonego pliku – błąd 53
    • przenoszony plik jest otwarty – błąd 75
    • istnieje już plik o nazwie, którą ma mieć przenoszony plik –
      błąd 58.

Za pomocą wyrażenia Name można przenosić także katalogi, ale tylko w ramach tego samego dysku.


Kurs Excel programowanie w VBA

 

Błąd wykonania 58

Błąd wykonania 58 – File already exists

Błąd ten pojawia się w sytuacji, gdy następuje próba zapisania pliku pod nazwą pliku już istniejącego.
Jedynym zabezpieczeniem kodu przed tym błędem jest tu zmiana docelowej nazwy pliku.

Inne błędy wykonania VBA (Run-time) są tu:
Błędy kodu wykonania

 

Funkcje VBA OR

Funkcja Or w VBA to jedna z funkcji logicznych VBA. Właściwie to spełnia rolę operatora w sumie logicznej.
Wszystkie warunki będące składnikami takiej sumy muszą być typu Boolean (czyli True dla prawdy i False dla fałszu). W wyniku działania otrzymujemy również wartość typu Boolean.

Public Sub Przyklad()
Dim CzyPrawda As Boolean
Dim Warunek1 As Boolean
Dim
Warunek1 As Boolean
Dim Warunek1 As Boolean

CzyPrawda = Warunek1 Or Warunek2 Or Warunek3
End Sub

W wyniku działania otrzymujemy wartość True tylko wtedy, gdy chociaż jeden z warunków jest spełniony czyli ma wartość True.  Wartość False wystąpi tylko w przypadku. gdy wszystkie farunki są fałszem.

Odpowiednikiem funkcji w Excelu jest funkcja LUB()


Kurs Makra i VBA w Excelu dla początkujących

 

Błąd wykonania 53

Błąd wykonania 53 – File not found

Błąd ten pojawia się w sytuacji, gdy następuje odwołanie do pliku na  dysku, która nie istnieje.
Najlepszym zabezpieczeniem kodu przed tym błędem jest tu po prostu wcześniejsze sprawdzenie, czy plik istnieje.
Przykładowy kod może wyglądać tak:

Public Function CzyPlik(Jaki_Adres as String)
If Dir(Jaki_Adres) = “”  Then  
   CzyPlik=False
 Else
  CzyPlik=True
End If`
End Sub

Inne błędy wykonania VBA (Run-time) są tu:
Błędy kodu wykonania

 

Błąd wykonania 76

Błąd wykonania 76 – Path not found

Błąd ten pojawia się w sytuacji, gdy następuje odwołanie do ścieżki na  dysku, która nie istnieje.
Najlepszym zabezpieczeniem kodu przed tym błędem jest tu po prostu wcześniejsze sprawdzenie, czy ścieżka istnieje.
Przykładowy kod może wyglądać tak:

Public Function CzyKatalog(Jaki_Adres as string)
If Dir(Jaki_Adres, vbDirectory) = “”  Then  
   CzyKatalog=False
 Else
  CzyKatalog=True
End If`
End Sub

Inne błędy wykonania VBA (Run-time) są tu:
Błędy kodu wykonania