By Ryan4 w środę, 29 czerwca 2022 r
Opublikowany w przewyższać
Odpowiedzi 13
Lubi 0
odwiedzajacy 5.6 tysięcy
Głosów 0
Cześć,

Próbuję wysłać wiadomość e-mail na podstawie pośredniej zmiany wartości komórki (np. > 7), z załącznikiem do wiadomości e-mail i konkretnym odwołaniem do zmienionych komórek w treści mojej poczty wychodzącej. Mam pośrednią zmianę wartości komórki w dół na podstawie kryteriów. Jednak otrzymuję błąd 424 podczas próby ustawienia zmiennej, aby wywołać adres komórki w moim e-mailu. Czy mógłbyś pomóc? Czuję, że jestem blisko.

Dim xRg jako zakres
Dim xRgSel jako zakres
'Ustaw zasięg i cel
Prywatny Sub Worksheet_Change (ByVal Target As Range)
Dim xRgPre jako zakres
On Error Resume Next
Jeśli Target.Cells.Count > 1, to wyjdź z Sub
Ustaw xRg = Zakres("Q2:Q43")
Ustaw xRgPre = xRg.Precedenty
Ustaw xRgSel = Przecięcie (cel, xRg)
ActiveWorkbook.Save
Jeśli xRg.Wartość > 7 Wtedy
Zadzwoń do Mail_small_Text_Outlook
ElseIf (Not xRgPre nie jest niczym) And (Intersect(Target, xRgPre).Address = Target.Address) Then
End If
End If
End Sub
Sub Mail_small_Text_Outlook()
Dim xOutApp jako obiekt
Dim xOutMail jako obiekt
Dim xMailBody jako ciąg
Ustaw xOutApp = CreateObject("Outlook.Application")
Ustaw xOutMail = xOutApp.CreateItem(0)
xMailBody = "Cześć, komórki(e)" & xRgSel.Address(False, False) & _
" w arkuszu '" & Ja.Imię & "' są 3 dni po przyjęciu" & vbNewLine & vbNewLine & _
"Proszę przejrzeć i skontaktować się z potencjalnymi klientami" & vbNewLine & _
"Dziękuję Ci"
On Error Resume Next
Z xOutMail
.To = "rdavis@bridge.partners"
.CC = „”
.BCC = „”
.Subject = "Dni od przyjęcia ołowiu"
.Body = xMailBody
.Attachments.Add (ThisWorkbook.FullName)
.Wyświetl 'lub .Wyślij
Kończyć z
Przy błędzie GoTo 0
Ustaw xOutMail = Nic
Ustaw xOutApp = Nic
End Sub


Dzięki!
Witam,

Gdy pojawi się błąd 424, kliknij debuguj, a następnie zrób zrzut ekranu z odnalezionym problemem.
debugowanie.png


Uruchomiliśmy podany przez Ciebie kod, zadziałał dobrze po zmianie koniec jeśli poniżej do wyjdź z sub.
zmiana.jpg


Zmień odpowiednio kod, a następnie wypróbuj go, aby sprawdzić, czy działa tak, jak chcesz.

Amanda
·
1 lat temu
·
0 Lubi
·
0 głosów
·
Komentarze 0
·
Dzięki, Amando! Jednak nadal otrzymuję błąd, a monit nie zawiera opcji „debugowania”. Jestem całkiem nowy w VBA, czy to może być moje wcięcie? Widząc, jak to działa na twój koniec. Próbowałem przesłać zrzut ekranu, ale mam trudności z wysłaniem mojej wiadomości zwrotnej (ładuje się przez długi czas, tylko headsup).
·
1 lat temu
·
0 Lubi
·
0 głosów
·
Komentarze 0
·
Cześć Ryan, czy zmieniłeś tylko przekreślenie? koniec jeśli do wyjdź z sub? (Zauważyłem, że na zrzucie ekranu jest literówka (eixt), przepraszam za to.)
Jeśli tak, czy mógłbyś dołączyć plik Excel, w którym zastosowałeś kod?

Amanda
·
1 lat temu
·
0 Lubi
·
0 głosów
·
Komentarze 0
·
Dzięki, Amando! Jednak nadal otrzymuję błąd, a monit nie zawiera opcji „debugowania”. Jestem całkiem nowy w VBA, czy to może być moje wcięcie? Widząc, jak to działa na twój koniec. Próbowałem przesłać zrzut ekranu, ale mam trudności z wysłaniem mojej wiadomości zwrotnej (ładuje się przez długi czas, tylko headsup).


Możesz spróbować opublikować go teraz z załącznikami.
·
1 lat temu
·
0 Lubi
·
0 głosów
·
Komentarze 0
·
Cześć Amanda, przepraszam za opóźnienie, zmieniłem End jeśli na Exit Sub. Ale z jakiegoś powodu nie mogę dodać pliku Excela ani zrzutów ekranu - nie mogę odpowiedzieć z załącznikami. I tak nie mogłem dodać pliku Excela, ponieważ jest to plik xlsm i nie jest obsługiwany w przypadku przesyłania plików. Czy możemy rozmawiać przez e-mail? janusz1225@gmail.com
·
1 lat temu
·
0 Lubi
·
0 głosów
·
Komentarze 0
·
Cześć Amanda i ExcelFan, przepraszam za opóźnienie, zmieniłem Koniec, jeśli wyjdź z Sub. Ale z jakiegoś powodu nadal nie mogę dodać pliku Excela lub zrzutów ekranu - nie mogę odpowiedzieć z załącznikami. I tak nie mogłem dodać pliku Excela, ponieważ jest to plik xlsm i nie jest obsługiwany w przypadku przesyłania plików. W każdym razie możemy rozmawiać przez e-mail? W ten sposób mogę przekazać pliki
·
1 lat temu
·
0 Lubi
·
0 głosów
·
Komentarze 0
·
Cześć Amanda, przepraszam za opóźnienie, zmieniłem End jeśli na Exit Sub. Ale z jakiegoś powodu nie mogę dodać pliku Excela ani zrzutów ekranu - nie mogę odpowiedzieć z załącznikami. I tak nie mogłem dodać pliku Excela, ponieważ jest to plik xlsm i nie jest obsługiwany w przypadku przesyłania plików. Czy możemy rozmawiać przez e-mail? janusz1225@gmail.com


Cześć,

Dlaczego nie zapisać go jako zip lub rar?
·
1 lat temu
·
0 Lubi
·
0 głosów
·
Komentarze 0
·
Niestety nie mogę publikować żadnego typu pliku ani linków. Sięgnąłem do wsparcia, ale teraz odpowiadam jak na razie. Nie jestem pewien przyczyny, ale po wysłaniu strona po prostu się ładuje i nie wysyła. Wypróbowałem wiele przeglądarek, wyczyściłem pamięć podręczną i wiele urządzeń :/

Doceniam twoją chęć pomocy! Niestety w tej chwili nie mogę przekazać plików
·
1 lat temu
·
0 Lubi
·
0 głosów
·
Komentarze 0
·
Cześć Ryan,

Dzięki za opinie. Sprawdzimy, czy jest jakiś problem z załączaniem pliku. Na razie wyślij swój plik na adres amanda@extendoffice.com

Amanda
·
1 lat temu
·
0 Lubi
·
0 głosów
·
Komentarze 0
·
Cześć Amando!

To jest Ryan4 z ExtendOffice. Dziękuję za przesłanie adresu e-mail, który pomoże rozwiązać mój problem. Zamierzam być aktywnym członkiem od czasu odkrycia Twojej fantastycznej społeczności, więc mam nadzieję, że problemy z przesyłaniem plików zostaną w końcu rozwiązane!

Na razie zapoznaj się z załączonym plikiem tutaj. Zaktualizowałem kod, aby czytał „Exit Sub” zamiast „End if”, jednak nadal otrzymuję błąd bez opcji debugowania. Możesz doradzić? Może to moja struktura lub wcięcie.

Dziękuję jeszcze raz za twoje wsparcie!
Ryan

Cześć Ryan,

Otrzymano wiadomość e-mail. Ponieważ mogą istnieć inni użytkownicy, którzy mają ten sam problem, odpowiem tutaj.

Wypróbuj poniższą metodę:
1. otwarte Numer Referencyjny.
vba-reference.png


2. Czek Biblioteka obiektów programu Microsoft Outlook 16.0. Uwaga: zamiast 16.0 możesz mieć 15.0, 14.0 itd.
vba-biblioteka.png


3. Wymień poniższy kod
Dim xOutApp As Object
Dim xOutMail As Object

do
Dim xOutApp As Outlook.Application
Dim xOutMail As Outlook.MailItem


Spróbuj wykonać powyższe 3 kroki. Ponieważ twój vba działa dobrze na naszym komputerze, więc trudno jest nam odtworzyć problem. Mam nadzieję, że ta metoda ci pomoże!

Amanda
·
1 lat temu
·
0 Lubi
·
0 głosów
·
Komentarze 0
·
Cześć Amanda, mam bibliotekę obiektów programu Microsoft Outlook 16.0, ale niestety to też nie zadziałało - mam nowy błąd wskazujący na kod problemu. Wygląda na to, że Outlook.Application nie jest zdefiniowanym typem - czy muszę utworzyć jakieś wczesne wiązanie, aby zakwalifikować obiekt?

Dziękuję Ci!

(ps ponownie nie mogę wysłać zrzutów ekranu / załączników - wyślę e-mailem, ale możesz również opublikować tutaj dla społeczności.)
·
1 lat temu
·
0 Lubi
·
0 głosów
·
Komentarze 0
·
Cześć Ryan,

Wiadomość otrzymana. Ale przepraszam, ponieważ kod działa na naszych komputerach, więc nie mogliśmy teraz wymyślić dla Ciebie innych rozwiązań.

O zrzutach ekranu, klikałeś? Prześlij pliki pod Załączniki a następnie wybierz pliki obsługiwane przez forum?

Amanda
·
1 lat temu
·
0 Lubi
·
0 głosów
·
Komentarze 0
·
Bummer :/ Zastanawiam się, co to może być - spróbuję się jeszcze trochę pobawić.

Jeśli chodzi o pliki, próbowałem tego. Wgrywam dobrze, ale po sprawdzeniu, że nie jestem robotem i uderzeniu w odpowiedź. Strona po prostu się ładuje i ładuje, ale nigdy nie wysyła. Mogę odpowiedzieć dobrze bez załączników. Amando, wysłałem Ci załączniki i książkę.

Dam wam znać, jeśli to rozwiążę!
W każdym razie dzięki za wszelką pomoc

Ryan
·
1 lat temu
·
0 Lubi
·
0 głosów
·
Komentarze 0
·
Wyświetl pełny post