1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
'**********************************************************************************************************
' Nazwa: czyPrawidlowyPlik
' Autor: mielk | 2013-04-25
'
' Opis: Funkcja sprawdzająca czy podany plik Excela jest prawidłowy i można odwoływać się
' do jego właściwości i metod bez obawy, że zostanie wygenerowany błąd.
'
' Funkcja jest bardzo pomocna, ponieważ pozwala uniknąć błędu
' Run-time error '-2147221080 (800401a8)': Automation error.
' Błąd ten jest generowany w sytuacji, kiedy kod próbuje się odnieść do właściwości
' lub metody skoroszytu Excelu, ale plik ten został wcześniej zamknięty.
'
' Argumenty:
' wkb Sprawdzany skoroszyt Excela.
'
' Zwraca:
' Boolean True - jeżeli sprawdzany skoroszyt jest prawidłowy i bez obaw można się odnosić do
' jego właściwości i metod.
' False - jeżeli podany skoroszyt jest nieprawidłowy (zazwyczaj przyczyną jest fakt,
' że plik ten został wcześniej zamknięty).
'
'
' --- Zmiany ----------------------------------------------------------------------------------------------
' 2013-04-25 mielk Utworzenie funkcji.
'**********************************************************************************************************
Public Function czyPrawidlowyPlik(wkb As Excel.Workbook) As Boolean
Const NAZWA_METODY As String = "czyPrawidlowyPlik"
'------------------------------------------------------------------------------------------------------
Dim strNazwaSkoroszytu As String
'------------------------------------------------------------------------------------------------------
On Error Resume Next
strNazwaSkoroszytu = wkb.name
'Jeżeli nazwa podanego pliku została przypisana do zmiennej [strNazwaSkoroszytu], oznacza to, że ten
'skoroszyt jest prawidłowy i można odwoływać się do jego właściwości bez obawy o pojawienie się błędów.
czyPrawidlowyPlik = VBA.Len(strNazwaSkoroszytu)
End Function