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

Macros et VBA Excel Discussion :

Comment supprimer les balises HTML ?


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 093
    Billets dans le blog
    20
    Par défaut Comment supprimer les balises HTML ?
    Bonjour,
    Je ne retrouve plus comment supprimer toutes les balises HTML d'un document (Email OUTLOOK par exemple) ?

    Il me semblait qu'il y avait une solution avec HTMLDOCUMENT...
    Have a nice day. Oliv'
    Votre réponse est peut être dans mon blog !
    https://www.developpez.net/forums/blogs/191381-oliv-/

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Salut Oliv-

    par expression rationnelle ?

    avec ce pattern :


    c'est dans quel contexte ton utilisation ?

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

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 093
    Billets dans le blog
    20
    Par défaut
    SAlut,
    merci pour ta réponse
    j'avais essayé les regex avec ce code, mais pour un EMAIL le résultat n'est pas du tout celui attendu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Function SupprimerHTML(ByVal strHTML As String) As String
        Dim re As Object    'VBScript_RegExp_55.RegExp
     
    ' Remplacement de certains caractères html
        strHTML = Replace(strHTML, "é", "é")
        strHTML = Replace(strHTML, "è", "è")
        strHTML = Replace(strHTML, "à", "à")
        strHTML = Replace(strHTML, " ", " ")
        strHTML = Replace(strHTML, "’", "'")
        strHTML = Replace(strHTML, "ô", "ô")
     
        ' On crée une expression régulière
        Set re = CreateObject("vbscript.regexp")   ' On définit le critère qui cherche toute balise HTML
        're.Pattern = "<\s*?[^>]+\s*?>"
        re.Pattern = "<s*?[^>]+s*?>"
     
        ' On fait en sorte que la casse (majuscules/minuscules)
        ' soit indifférente
        re.IgnoreCase = True    ' Traitement global (récursif)
        re.Global = True    ' La fonction Test renvoie True si la chaîne
        ' respecte le critère
        SupprimerHTML = re.Replace(strHTML, "")
    End Function
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Private Sub test_Supprimer_HTML_regex()
     
        Dim oItem As Outlook.MailItem
        Set oItem = ActiveInspector.CurrentItem
     
        contenu = oItem.HTMLBody
    Msgbox contenu
        contenu = SupprimerHTML(contenu)
         MsgBox contenu   
    'pour mettre dans le presse papier
       ' With New DataObject
       '     .SetText contenu
       '     .PutInClipboard
      '  End With
     
    End Sub

    et finalement j'ai retrouvé ce que je cherchais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Private Sub test_Supprimer_HTML()
     
        Dim oItem As Outlook.MailItem
        Set oItem = ActiveInspector.CurrentItem
        Dim ohtml As HTMLDocument
        Set ohtml = New HTMLDocument
        ohtml.Body.innerHTML = oItem.HTMLBody
     
        contenu = ohtml.Body.innerText
     
        'With New DataObject
        '    .SetText contenu
        '    .PutInClipboard
     
       ' End With
        MsgBox contenu
     
    End Sub
    Have a nice day. Oliv'
    Votre réponse est peut être dans mon blog !
    https://www.developpez.net/forums/blogs/191381-oliv-/

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour Oliv,
    j'avais créé ce script pour convertir le caractères accentuer en Htm mais l’inverse est possible en te basant su ce code:
    http://www.developpez.net/forums/d15...o/#post8187229

    Mais avec cdo tu créer un mail que tu l'envoi pas tu place ton texte dans bodyHtml et tu le récupères converti dans body!
    Dernière modification par Invité ; 25/02/2016 à 16h12.

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

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 093
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par rdurupt Voir le message
    Bonjour Oliv,
    j'avais créé ce script pour convertir le caractères accentuer en Htm mais l’inverse est possible en te basant su ce code:
    http://www.developpez.net/forums/d15...o/#post8187229
    Merci Robert, je la garde sous la main, soit dit en passant j'ai eu le même pb d'accent en CDO qu'évoqué dans le post cité !
    Have a nice day. Oliv'
    Votre réponse est peut être dans mon blog !
    https://www.developpez.net/forums/blogs/191381-oliv-/

  6. #6
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub test()
    Set msg = CreateObject("CDO.Message") 'pour la configuration du message
    With msg
         .HTMLBody = "&aacute;"
         Debug.Print .textBody
    End With
    End Sub
    Ceci dit pour moi tu lavais besoin que de ça txt=oItem.body
    Dernière modification par AlainTech ; 28/02/2016 à 13h32. Motif: Fusion de 2 messages

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

Discussions similaires

  1. [TinyMCE] Comment supprimer les balises html
    Par Magjjy dans le forum Bibliothèques & Frameworks
    Réponses: 3
    Dernier message: 10/06/2011, 14h57
  2. [PHP 5.2] Comment supprimer les balise php mais pas les html
    Par pierrot10 dans le forum Langage
    Réponses: 1
    Dernier message: 19/05/2009, 23h28
  3. Réponses: 4
    Dernier message: 27/10/2008, 12h22
  4. [RegEx] Supprimer les balises HTML
    Par Anduriel dans le forum Langage
    Réponses: 5
    Dernier message: 10/04/2008, 16h51
  5. [RegEx] Supprimer les balises HTML
    Par hisy dans le forum Langage
    Réponses: 4
    Dernier message: 19/03/2006, 17h10

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