ID tematu: 69061
 |
Outlook z Excel |
Autor |
Wiadomość |
canto
Stały bywalec Excelforum


Wersja: Win Office 2016
Posty: 282
|
Wysłany: 06-10-2020, 11:40 Outlook z Excel
|
|
|
Witam wszystkich,
próbuję w w tekst wiadomości nowej wiadomości Outlooka kopiować sformatowany tekst z Excela.
Znalazłem w necie coś takiego:
'http://www.vbaexpress.com/forum/showthread.php?60407-How-to-send-email-in-excel-using-content-in-word-as-email-body'
Niestety nie do końca potrafię to zastosować.
Ktoś coś kiedyś działał w tym temacie?
Góry dzięki za wskazówki.
Pozdrawiam, |
_________________ canto |
|
 | ID posta:
393147
|
|
|
 |
|
|
|
BrunO
ExcelSpec


Wersja: Win Office 365
Pomógł: 187 razy Posty: 725
|
Wysłany: 07-10-2020, 11:55
|
|
|
Na jakim poziomie masz problem?
Wiadomości w outlooku formatowane są w html, więc żeby coś osiągnąć trzeba cokolwiek liznąć z tego języka. Na szczęście do sformatowania e-maila takie delikatne liźnięcie w zupełności wystarczy.
Wszystko też zależy od tego jak bogate formatowanie chcesz zastosować i na ile treść twojej wiadomości będzie stała - jeśli chcesz wysłać 1000 maili o tej samej treści, to raz okraszony tagami htmla tekst po prostu potraktujesz jako stały ciąg, ale jeśli każdy ma być "personalizowany" to trzeba będzie takie tagowanie przeprowadzić albo makrem albo formułami tekstowymi. |
|
 | ID posta:
393222
|
|
|
 |
|
|
canto
Stały bywalec Excelforum


Wersja: Win Office 2016
Posty: 282
|
Wysłany: 07-10-2020, 12:05
|
|
|
Zrobiłem w kodzie coś takiego:
Kod: | Dim objWord As Object
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
objWord.Documents.Open wiadomosc
objWord.ActiveDocument.SaveAs2 Filename:=body, FileFormat:= _
wdFormatFilteredHTML, LockComments:=False, Password:="", AddToRecentFiles _
:=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
:=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
SaveAsAOCELetter:=False, CompatibilityMode:=0
objWord.ActiveDocument.Close
objWord.Quit |
Dzięki temu uzyskałem plik w htm, który mogę otworzyć w notatniku.
Tam są całe formatowania, pozostaje mi tylko kwestia jak to przejąć do:
|
_________________ canto |
|
 | ID posta:
393224
|
|
|
 |
|
|
BrunO
ExcelSpec


Wersja: Win Office 365
Pomógł: 187 razy Posty: 725
|
Wysłany: 07-10-2020, 14:11
|
|
|
Tak to sobie wymyśliłeś...
Pobranie treści pliku do stringa możesz zrobić sobie tak:
Kod: | Dim strHTML As String
Open body For Input As #1
Input #1, strHTML
Close #1 |
Gdzie body zaczerpnąłem z twojego kodu rozumiejąc że będzie to ścieżka do tego wygenerowanego pliku.
teraz możesz użyć
Nie jestem tylko pewien, czy nie pojawią się krzaki zamiast polskich znaków... |
|
 | ID posta:
393230
|
|
|
 |
|
|
canto
Stały bywalec Excelforum


Wersja: Win Office 2016
Posty: 282
|
Wysłany: 07-10-2020, 14:24
|
|
|
Też się lubię czepiać słówek :)
Skorzystałem z tego rozwiązania:
Kod: | Function GetBoiler(ByVal sFile As String) As String
'Dick Kusleika
Dim fso As Object
Dim ts As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.GetFile(sFile).OpenAsTextStream(1, -2)
GetBoiler = ts.readall
ts.Close
End Function |
Należy pamiętać tylko o włączeniu referencji. |
_________________ canto |
|
 | ID posta:
393231
|
|
|
 |
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum
|
Dodaj temat do Ulubionych Wersja do druku
|
 |
Strona używa plików cookies.
Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przeglądarce.
Korzystając ze strony użytkownik wyraża zgodę na używanie plików cookies, zgodnie z bieżącymi ustawieniami przeglądarki.
Sprawdź, w jaki sposób przetwarzamy dane osobowe
|