< návrat zpět

MS Excel


Téma: Převod do HTML diakritika rss

Zaslal/a 26.6.2018 18:20

Zdravím.
Mám kód na převod listu do HTML a následné kopírování do těla mailu. Funguje správně, až na to, že zobrazuje špatně diakritiku. Celý list je naformátovaný jako text.
Prosím o radu, jak to opravit.
Dim strCestaSoubor As String
Dim strObsahHTML As String
strCestaSoubor = ActiveWorkbook.Path & "\temp.htm"
ActiveWorkbook.PublishObjects.Add(xlSourceSheet, _
strCestaSoubor, ActiveSheet.Name).Publish (True)

Set fso = CreateObject("Scripting.FileSystemObject")
Set txt = fso.GetFile(strCestaSoubor).OpenAsTextStream(1, -2)
strObsahHTML = txt.ReadAll
txt.Close
.HTMLBody = strObsahHTML

Zaslat odpověď >

#040819
xlnc
Kód je mi znám, musel bych to vidět. Jaký Outlook?citovat
#040824
avatar
Žádný outlook. Používám CDO, obcházím poštovního klienta a přihlašuju se přímo k účtu na web4u. Mail se odesílá na pozadí, bez potvrzení klienta. Rozbitá diakritika je pak na cílovém účtu v HTML těle mailu.
Sub MailCDO(muser As String, mpass As String, mto As String, mcc As String, mbcc As String, mpredmet As String)
Dim iMsg As Object
Dim iConf As Object
Dim strBody As String
Dim Flds As Object
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
iConf.Load -1
Set Flds = iConf.Fields
strConf = "http://schemas.microsoft.com/cdo/configuration/"
With Flds
.Item(strConf & "sendusing") = 2
.Item(strConf & "smtpserver") = "smtp.web4u.cz"
.Item(strConf & "smtpserverport") = 25
.Item(strConf & "smtpauthenticate") = 1
.Item(strConf & "sendusername") = muser
.Item(strConf & "sendpassword") = mpass
.Update
End With
With iMsg
Set .configuration = iConf
.to = mto
.cc = mcc
.bcc = mbcc
.From = muser
.Subject = mpredmet
Dim strCestaSoubor As String
Dim strObsahHTML As String
strCestaSoubor = ActiveWorkbook.Path & "\temp.htm"
ActiveWorkbook.PublishObjects.Add(xlSourceSheet, _
strCestaSoubor, ActiveSheet.Name).Publish (True)

Set fso = CreateObject("Scripting.FileSystemObject")
Set txt = fso.GetFile(strCestaSoubor).OpenAsTextStream(1, -2)
strObsahHTML = txt.ReadAll
txt.Close
.HTMLBody = strObsahHTML
.send
End With
Set iMsg = Nothing
Set iConf = Nothing

End Sub
citovat
#040826
xlnc
No, tak to pošlete i na jiné účty - Seznam, Outlook. Pak dejte vědět.citovat
#040830
avatar
Zkusil jsem web4u, seznam a gmail (outlook nepoužívám).
Z nich se diakritika zobrazila správně jen na seznamu.
Koukal jsem na nastavení web4u (tam to potřebuju primárně funkční) a zobrazování je nastaveno na UTF-8. Zkoušel jsem změnit nastavení na Windows-1250 a ISO 8859-2. Stejný výsledek.citovat
#040831
xlnc
Přepsal jsem se, místo Outlooku měl být Gmail.

Podívejte se do těla HTML, jaké - jestli vůbec - je tam nastavené kódování. Teoreticky, ale je to opruz, bychom to mohli překódovat (na UTF-8).

Cvičně mi to přepošlete na info@proexcel.cz.

Nejspíš to ale stejně budete muset řešit s daným hostingem.citovat
#040833
avatar
Děkuji za ochotu, ale poslat to nemůžu. Je to poměrně obsáhlý soubor s databázemi a velkou hromadou kódu, kde jsou i citlivá data.citovat
#040834
xlnc
No jo, když jste líný udělat z toho demo - dva řádky a pozměněné údaje, tak je to ztráta času. Fakt jak u blbejch. Skočte si do věštírny k cikánce.citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura III

Oblíbený formulář Faktura byl vylepšen a rozšířen. Formulář faktura III
Více se dočtete zde.

Aktivní diskuse

Spuštění makra, když buňka větší než...

slavekskeeve • 17.10. 9:44

Spuštění makra, když buňka větší než...

elninoslov • 17.10. 8:58

Odeslání listu na e-mail

elninoslov • 17.10. 8:46

Spuštění makra, když buňka větší než...

slavekskeeve • 17.10. 8:38

Odeslání listu na e-mail

lubo1 • 17.10. 8:26

Odeslání listu na e-mail

elninoslov • 16.10. 20:55

Odeslání listu na e-mail

Pavel-Krivanek • 16.10. 10:44