IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Outlook Discussion :

outlook: Insertion fichier html en tant que texte [OL-2010]


Sujet :

VBA Outlook

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 196
    Points : 102
    Points
    102
    Par défaut outlook: Insertion fichier html en tant que texte
    Bonjour,

    Quelle est la syntaxe VBA pour remplacer l'action manuel d'insérer un fichier en html en tant que texte dans nouvel email outlook ?

    Je m'explique, je suis passé par le code ci-dessous mais les caractères spéciaux sont mal affiché alors que manuellement il le sont correctement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    f = FSo.GetFile(NomFichierHTML).OpenAsTextStream.ReadAll
            .BodyFormat = olFormatHTML
            .HTMLBody = f
    exemple de mauvais conversion : le é s'affiche :é , le € s'affiche: € , le ' s'affiche: ’

    Merci par avance, j'ai parcouru le net, mais je seche.

    Nico

  2. #2
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Salut,

    Je pense que cela vient de l'encodage de ton fichier txt, avec quoi le fais tu ? es tu en ANSI ?



    C'est quoi ta méthode manuelle pour le faire ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 196
    Points : 102
    Points
    102
    Par défaut
    Bonjour,

    Après avoir continuer les recherches, je pense aussi que cela pourrait-être un problème d'encodage.

    Après je ne comprend pas la différence entre le fait de mettre via VBA et manuellement.

    Ci-dessous l'imprim écran de la méthode manuelle : nouvel email/joindre un fichier/sélection du fichier HTML/choisir insérer comme texte.

    Le fichier HTMl insérer dans le corps est codé en UTF 8 :

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8" />
    <title>Weiss France - NEWSLETTER</title>
    <style type="text/css">
    Images attachées Images attachées  

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 196
    Points : 102
    Points
    102
    Par défaut [Résolu] [OL-2010] outlook: Insertion fichier html en tant que texte
    Bien, j'ai la solution, La fonction" FSo.GetFile(NomFichierHTML).OpenAsTextStream.ReadAll" ne sait pas lire correctement les caractères accentués.

    La solution est de remplacer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    f = FSo.GetFile(NomFichierHTML).OpenAsTextStream.ReadAll
    Par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim adoStream
    Set adoStream = CreateObject("Adodb.Stream")
    adoStream.Open
    adoStream.Charset = "UTF-8"
    adoStream.LoadFromFile NomFichierHTML
    '********** !! ***************
    f = adoStream.ReadText(-1)
    '********** !! ***************
    adoStream.Close
    Set adoStream = Nothing
    Et c'est résolu !

  5. #5
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Bonsoir,
    Le problème est bien lié à l'encodage.
    j'ai vérifié avec la première méthode si l'encodage du fichier est ANSI cela fonctionne bien avec les accents.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Macro pour insertion fichier html dans Mail
    Par jibdu94 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 21/12/2010, 10h20
  2. [tSendMail/Utilisation] : Utiliser un fichier HTML comme corps de texte
    Par Yust dans le forum Développement de jobs
    Réponses: 4
    Dernier message: 27/11/2009, 09h38
  3. Comment lancer un fichier mmc en tant que
    Par liocifer dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 04/07/2009, 14h27
  4. [Débutante]Balise HTML en tant que String
    Par bbyoulie dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 09/12/2008, 13h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo