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 Discussion :

[VBA FrontPage] echapper certains caractères


Sujet :

VBA

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut [VBA FrontPage] echapper certains caractères
    Bonjour !

    Hé oui c'est possible du VBA sous FrontPage ^^

    Je suis amené parfois à utiliser FrontPage pour developper cetraines pages Web, c'est le seul outil que la boite ait consenti a me payer ...
    Bref là n'est pas la question.
    J'essaye de me simplifier l'existence et feneant que je suis en programmant des boutons avec des macros pour insérer des blocs de textes tout prêts...
    Genre balises script ou css dans le head.

    Cependant je butte sur la balise DOCTYPE:
    Voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub addoctype()
    lngViewMode = Application.ActivePageWindow.ViewMode
    'Switch to Normal view.
      Application.ActivePageWindow.ViewMode = fpPageViewNormal
    Dim objElement As IHTMLElement
    Dim strTagName As String
    Set objElement = ActiveDocument.all.tags("html").Item(0)
     
    strTagName = objElement.TagName
    objElement.insertAdjacentHTML where:="beforeBegin", _
                HTML:="<" & Chr(33) & "DOCTYPE html PUBLIC " & Chr(34) & "-//W3C//DTD XHTML 1.0 Strict//EN" & Chr(34) & " " & Chr(34) & "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" & Chr(34) & ">" & vbCrLf & "<html xmlns=" & Chr(34) & "http://www.w3.org/1999/xhtml" & Chr(34) & " xml:lang=" & Chr(34) & "fr" & Chr(34) & " lang=" & Chr(34) & "fr" & Chr(34) & ">" & vbCrLf
     
     Application.ActivePageWindow.ViewMode = lngViewMode
    End Sub
    le souci se situe au niveau du debut de cette balise
    en effet VB n'accepte pas d'insérer lac combinaison "<!
    même en "echappant" le ! au moyen de son chr, j'i l'impression que VBA considère ça comme un commentaire et ne le colle pas dans le fichier ...

    Une idée ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Bon j'ai aussi tenté de passer par un simple replace au lieu de le faire par insertion de Balises

    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
    24
    25
    26
    27
    28
    29
    Sub addoctype()
    lngViewMode = Application.ActivePageWindow.ViewMode
    'Switch to Normal view.
    Application.ActivePageWindow.ViewMode = fpPageViewNormal
    Dim objElement As IHTMLElement
    Dim strTagName As String
    Dim strSearch As String
    Dim strReplace As String
    'Doctype
    strPageHTML = ActiveDocument.DocumentHTML
    strReplace = "<" & Chr(33) & " DOCTYPE html PUBLIC " & Chr(34) & "-//W3C//DTD XHTML 1.0 Strict//EN" & Chr(34) & " " & Chr(34) & "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" & Chr(34) & ">" & vbCrLf & "<html xmlns=" & Chr(34) & "http://www.w3.org/1999/xhtml" & Chr(34) & " xml:lang=" & Chr(34) & "fr" & Chr(34) & " lang=" & Chr(34) & "fr" & Chr(34) & ">" & vbCrLf
    strSearch = Chr(60) & "html" & Chr(62)
    strPageHTML = Replace(strPageHTML, strSearch, strReplace)
     
    'charset
    strReplace = "charset=utf-8"
    strSearch = "charset=windows-1252"
    strPageHTML = Replace(strPageHTML, strSearch, strReplace)
     
    'F'ing Microsoft Tags
    strSearch = "<meta name=" & Chr(34) & "GENERATOR" & Chr(34) & " content=" & Chr(34) & "Microsoft FrontPage 4.0" & Chr(34) & ">" & vbCrLf _
    & "<meta name=" & Chr(34) & "ProgId" & Chr(34) & " content=" & Chr(34) & "FrontPage.Editor.Document" & Chr(34) & ">"
    strReplace = ""
    strPageHTML = Replace(strPageHTML, strSearch, strReplace)
     
    ActiveDocument.DocumentHTML = strPageHTML
     
    Application.ActivePageWindow.ViewMode = lngViewMode
    End Sub
    le problème reste entier !
    toutes les balises sont bien remplacées, sauf la balise doctype qui n'apparait pas.
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Expert confirmé
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Par défaut
    Bonjour,

    Et en essayant de le passer dans une variable ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim strDebutBalise
     
    strDebutBalise ="<!"
     
    objElement.insertAdjacentHTML where:="beforeBegin", _
                HTML:=strDebutBalise & "DOCTYPE html PUBLIC " & Chr(34) & "-//W3C//DTD
    Domi2

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Merci de te pencher sur ce triangle des bermudes ..

    Non le souci reste le même

    le seul truc qui me fait avancer un peu est si je mets la balise en commentaire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strReplace = "<!-- DOCTYPE html PUBLIC " & Chr(34) & "-//W3C//DTD XHTML 1.0 Strict//EN" & Chr(34) & " " & Chr(34) & "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" & Chr(34) & ">" & vbCrLf & "<html xmlns=" & Chr(34) & "http://www.w3.org/1999/xhtml" & Chr(34) & " xml:lang=" & Chr(34) & "fr" & Chr(34) & " lang=" & Chr(34) & "fr" & Chr(34) & ">"
    je dois ensuite effacer les deux -- , c'est pas top

    A noter qu'un msgbox de strPageHTML m'affiche bien le bon contenu avec la balise DOCTYPE !
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

Discussions similaires

  1. Echapper des caractères avec VBA pour requete SQL
    Par mpereg dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/04/2008, 03h41
  2. Compter un certain caractère dans une chaine.
    Par illuzmax dans le forum Débuter
    Réponses: 16
    Dernier message: 07/04/2006, 16h37
  3. [XSL-FO] [FOP] Support de certains caractères polonais
    Par Shadow aok dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 09/03/2006, 09h33
  4. Problème avec certains caractéres dans variable
    Par Off$ide dans le forum Langage
    Réponses: 14
    Dernier message: 13/12/2005, 10h46
  5. afficher dialbox si certains caractères !
    Par NoobX dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 18/11/2005, 15h40

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