'********************************************************************************************************** ' Nazwa: czyPrawidlowyArkusz ' Autor: mielk | 2012-11-16 ' ' Opis: Funkcja sprawdzająca czy podany arkusz 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 zmiennej arkuszowej, ale arkusz, do którego odnosi się ta zmienna, ' został wcześniej usunięty lub plik, w którym ten arkusz się znajduje został ' zamknięty. ' ' Argumenty: ' arkusz Sprawdzany arkusz. ' ' Zwraca: ' Boolean True - jeżeli sprawdzany arkusz jest prawidłowy i bez obaw można się odnosić do ' jego właściwości i metod. ' False - jeżeli podany arkusz jest nieprawidłowy (zazwyczaj przyczyną jest fakt, ' że plik Excela, w którym znajduje się ten arkusz został wcześniej zamknięty ' lub arkusz został usunięty). ' ' ' --- Zmiany ---------------------------------------------------------------------------------------------- ' 2012-11-16 mielk Utworzenie funkcji. '********************************************************************************************************** Public Function czyPrawidlowyArkusz(arkusz As Excel.Worksheet) As Boolean Const NAZWA_METODY As String = "czyPrawidlowyArkusz" '------------------------------------------------------------------------------------------------------ Dim strNazwaArkusza As String '------------------------------------------------------------------------------------------------------ On Error Resume Next strNazwaArkusza = arkusz.name 'Jeżeli nazwa podanego arkusza została przypisana do zmiennej [strNazwaArkusza], oznacza to, że arkusz 'jest prawidłowy i można odwoływać się do jego właściwości bez obawy o pojawienie się błędów. czyPrawidlowyArkusz = VBA.Len(strNazwaArkusza) End Function