Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Excel/VBA - Zróżnicowanie działanie makra w zależności od wersji Excela

anna_mind 11 Oct 2018 10:37 891 6
  • #1
    anna_mind
    Level 2  
    Hej! Mam problem z biblioteką Outlooka. Maile z poziomu Excela są wysyłane w wersji programu 2016, ale plik uzupełniany jest również w starszych wersjach Excela (tutaj jednak nie jest wykorzystywana opcja wysyłania maili). Problem polega na tym że w starszych wersjach Excela plik się psuje wyskakuje komunikat o nieprawidłowym ładowaniu biblioteki DDL, pomimo iż makro nie jest uruchamiane.

    Jak można obejść ten błąd? Mogę jakoś w kodzie przy uruchomieniu włączać ta bibliotekę a później ją wyłączać?

    Moderated By adamas_nt:

    Wydzielono z Link

    Ethernet jednoparowy (SPE) - rozwiązania w przemyśle. Szkolenie 29.09.2021r. g. 11.00 Zarejestruj się za darmo
  • #2
    clubs
    Level 36  
    anna_mind wrote:
    Jak można obejść ten błąd?

    A możesz załączyć ten kod?
  • #3
    anna_mind
    Level 2  
    Kod jest długi (odwołuje się do innych funkcji) wysyłam tą część która odpowiada za wysłanie maila i krótki opis całego kodu (próbowałam wrzucić późne wiązanie, ale chyba nie potrafię tego zrobić):
    1. Definicja zmiennych
    2. Ścieżka do załączników maila
    3. Definicja typów maila do wysłania
    4. Zdjęcie filtrów w pliku
    5. Sprawdzam pętlą czy w linii znajduje się typ maila który nas interesuje
    6. Na podstawie danych w tabeli sprawdzenie czy do jednej osoby nie zostały przez przypadek zdefiniowane różne typy maili do wysłania (nie powinny) – komunikat dla użytkownika, uzupełnienie komunikaty na liniach itp.
    7. Pobieram dane z komórek w których mam zdefiniowane przez formuły typy maili, typy załączników tytuły, adresata, osoby DW
    8. Sprawdzam czy zdefiniowany załącznik i treść maila istnieją w odpowiedniej lokalizacji – jeśli nie komunikat do użytkownika i komentarz w odpowiedniej komórce
    9. Na podstawie typu maila definiuje daty które mają się uzupełnić w odpowiednich miejscach
    10. Pobiera załącznik i body, sprawdza adresy mailowe, wysyła maila uzupełnia dane w pliku
    Code: vbscript
    Log in, to see the code


    To już mniej istotne:
    Code: vbscript
    Log in, to see the code
  • #4
    clubs
    Level 36  
    Generalnie trzeba zobaczyć co jest w całym module lub może coś masz w "workbook open"
  • #5
    anna_mind
    Level 2  
    A nie wynika to z tego że mam włączoną bibliotekę z wyższej wersji Excela a plik czasem otwieram w niższej?
  • #7
    adamas_nt
    Moderator of Programming
    anna_mind wrote:
    A nie wynika to z tego że mam włączoną bibliotekę z wyższej wersji Excela a plik czasem otwieram w niższej?
    Najprawdopodobniej tak właśnie jest. Nie wiadomo tylko do bibliotek jakich obiektów i w jaki sposób realizowane są wiązania.
    Najprościej załączyć plik (ten który działa w E2016), co kolega clubs próbował subtelnie zasugerować ;) Może być zupełnie bez danych, byle z nienaruszonym kodem VBA i bez zmian w References...

    P.S. Plik xlsm należy załączać spakowany ZIP/RAR