'********************************************************************************************************** ' 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