Niezdefiniowany typ danych

User-defined type not defined

Niezdefiniowany typ danych użytkownika – błąd kompilacji spowodowany użyciem nieznanego typu danych.

Z czego może to wynikać? Często to zwykła literówka w nazwie typu danych – wystarczy drobna poprawka. Najczęściej to jednak brak odpowiedniej biblioteki, do uzupełnienia w referencjach.
Manu edytora VBA –> Tools –> References

Aktywne (czyli przyłączone do projektu) są te referencje, które mają zaznaczony checkbox z lewej strony.

Oprócz tego na liście są wypisane w kolejności alfabetycznej pozostałe dostępne referencje. Chcąc dołączyć którąś z referencji do projektu – wystarczy zaznaczyć przy niej checkbox i nacisnąć przycisk OK.

Na przykład w aplikacji wykorzystującej Microsoft Word:

W tym przypadku edytor VBA zaznaczył błąd w linii Word.Application, konieczne jest wyszukanie i dołączenie potrzebnej referencji.

Po jej dołączeniu – kompilacja kodu przebiega już bez problemów, a kod jest prawidłowo wykonywany.


Kurs Access - programowanie w VBA

 

Missing czyli brak referencji

Błąd kompilacji – Can’t find project or library

Błąd ten pojawia się w sytuacji, gdy brakuje referencji. Można to sprawdzić edytorze VBA. Wybieramy w menu Tools –> References:

Brakujące pozycje oznaczone są jako Missing.

Jak pozbyć  się błędu? Trzeba po prostu odhaczyć występujący przy nim checkbox, a następnie nacisnąć OK i skompilować program.


 

Błąd wykonania 75

Błąd wykonania 75 – Path/File access error

Błąd ten pojawia się w sytuacji, gdy następuje odwołanie do pliku lub folderu, który nie istnieje. Wystąpi także przy próbie utworzenia folderu, który już jest zapisany.
Najlepszym zabezpieczeniem kodu jest tu po prostu wcześniejsze sprawdzenie, czy dany plik/folder istnieje.
Przykładowy kod może wyglądać tak:

Public Sub NowyKatalog()
If Dir(“C:\ABCD”, vbDirectory) = “” Then   ‘(1)
   MkDir (“C:\ABCD”)   ‘(2)
End If`  ‘(3)
End Sub

W linii (1) następuje sprawdzenie, czy istnieje katalog. Jeżeli nie – następuje przejście do linii (2), jeżeli tak – do (3).

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

 

 

Wyrażenie MkDir

MkDir to wyrażenie VBA tworzące na dysku nowy katalog. Posiada 1 argument:

    • Path– pełna nazwa folderu, który chcemy utworzyć

Jeżeli katalog o tej nazwie już istnieje wystąpi błąd wykonania 75

 

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

Public Sub NowyKatalog()
If Dir(“C:\ABCD”, vbDirectory) = “” Then
MkDir (“ABCD”)
End If
End Sub