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 :

Webbrowser n'affiche pas la page


Sujet :

VBA

  1. #1
    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 Webbrowser n'affiche pas la page
    Bonjour,
    J'ai un Fichier excel qui me permet de faire du publipostage.
    J'utilise un formulaire avec un webbrowser qui doit charger un éditeur WYSIWYG CKEDITOR!

    cela fonctionnait très bien.

    Suite à un changement de PC et sans doute au durcissement des règles de sécurité de notre société, cela ne fonctionne plus, le webbrowser n'affiche plus l'éditeur alors qu'avec IE cela fonctionne

    Je pense que cela vient d'un paramétre de sécurité de IE
    Nom : Capture.PNG
Affichages : 1684
Taille : 38,7 Ko
    Nom : Capture1.PNG
Affichages : 1461
Taille : 83,4 Ko


    Mon programme créé dynamiquement un fichier HTML puis l'ouvre et exécute une fonction de celui-ci pour générer un modèle de texte dans l'éditeur.

    Voici le contenu de la page ckeditor_dynamique.html dans le même dossier que le fichier excel.

    Code html : 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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <!-- saved from url=(0014)about:internet -->
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
     <title>CKEditor</title>
     <meta content="text/html; charset=utf-8" http-equiv="content-type" />
     <script type="text/javascript" src="http://ckeditor.com/assets/libs/ckeditor4/4.8.0/ckeditor.js"></script>
     <script type="text/javascript" src="http://ckeditor.com/assets/libs/ckeditor4/4.8.0/config.js"></script>
    <script type="text/javascript">
    function GetHTML()
    {
     document.getElementById('htmldata').value = CKEDITOR.instances.editor1.getData();
    }
    function SetHTML()
    {
      CKEDITOR.instances.editor1.setData(document.getElementById('htmldata').value);
    }
    function InsertHTML()
    {
     
     var oEditor = CKEDITOR.instances.editor1;
     var value = document.getElementById( 'htmldata' ).value;
     
     
     if ( oEditor.mode == 'wysiwyg' )
     {
     
      oEditor.insertHtml( value );
     }
     else
      alert( 'You must be in WYSIWYG mode!' );
    }
    </script>
    </head>
    <body style="margin:0;">
     <div style="color:red;">
      <noscript>
       <p>
        <strong>CKEditor requires JavaScript to run</strong>. In a browser with no JavaScript
        support, like yours, you should still see the contents (HTML data) and you should
        be able to edit it normally, without a rich editor interface.
       </p>
      </noscript>
     </div>
     <p style="width:100%;">
      <textarea cols="80" id="editor1" name="editor1" rows="20" style="width:100%;border:0; padding-left:0; padding-right:0;height:100%; "></textarea>
      <script type="text/javascript">
     
        CKEDITOR.replace( 'editor1',
                  
                        
                       {
                                instanceReady : function( evt )
                                       {
                                               var editor = evt.editor;
           editor.execCommand('maximize');
                                     },
              
             coreStyles_bold : { element : 'b' },
             coreStyles_italic : { element : 'i' },
             fontSize_style :
                 {
                  element  : 'font',
                 attributes : { 'size' : '#(size)' }
                 }
           
     
                } );
     
     
       </script>
      <input type="hidden" name="htmldata" value="" />
     </p>
     
    </body>
    </html>

    et le lancement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub ouvre_editeur()
     
        Form_EDITOR.Show vbModeless
        Form_EDITOR.wbEditor.Navigate ThisWorkbook.Path & "\ckeditor_dynamique.html"
    End Sub

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 194
    Points : 378
    Points
    378
    Par défaut
    Bonjour,

    as-tu essayé : WebBrowser1.ScriptErrorsSuppressed = true

    pour plus d'info msdn


    Edit :
    non désolé laisse tombé ne s'applique pas au browser d'excel

    du coup il me semblais avoir trouvé une solution et je suis aller chercher dans mes vieux fichiers excel. mais pas retrouvé
    Ce que je crois me rappeler c'est que si tu utilises
    un truc du genre

    WebBrowser1.Silent = True
    WebBrowser1.navigate ....

    cela ne fonctionne pas car WebBrowser1.Silent repasse à false tout seul

    par contre utilisé dans l'evenement before navigate2 cela fonctionne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub WebBrowser1_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, Flags As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean)
        WebBrowser1.Silent = True
    End Sub

  3. #3
    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
    merci cela me fait avancer je n'ai plus d'erreur de script avec .Silent = True,
    mais l'éditeur ne s'affiche toujours pas (ca devrait s'afficher comme sur la 2nd photo)

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 194
    Points : 378
    Points
    378
    Par défaut
    désolé mais la je suis sec ! on est dans mon vaste domaine d’incompétence

    mais comme cela à tout hasard quelle version d'excel te pose problème ?

  5. #5
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut
    Salut !

    Oliv tu as raison, ce n'est pas la version d'Excel mais bien le paramétrage d'IE :
    as-tu moyen de juste comparer avec l'ancien ordinateur ?

    ___________________________________________________________________________________________________________
    Je suis Paris, Egypte, Nigeria, New-York, Mogadicio, Barcelone, London, Manchester, Stockholm, Istanbul, Berlin, Nice, Bruxelles, Charlie, …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 194
    Points : 378
    Points
    378
    Par défaut
    Peut être un début de réponse ici
    et la

    note que j'ai fait un essai de mon coté en utilisant ton fichier html et cela fonctionne sans aucune erreur de script. Pour être certain j'ai bien l'option silent à false .

    Alors que contrairement à ce qui est dit dans le 1er lien que t'ai fournis
    pour moi dans IE/outils/options internet /avancé/Autoriser l'execution du contenu actif dans les fichiers de mon ordinateur cette option est décochée

    ma config:
    Win7 64
    excel 2016
    IE 11 (évidemment)

    Désolé de ne pourvoir t'en dire plus.

    J'avais galéré sur des problèmes de connexion ssl via http sur le réseau locale de ma boite qui fonctionnaient avec IE mais pas dans excel.
    En fait cela venait d'une nouvelle option de sécurité ajoutée à office depuis office 2010. Qui est "BasicAuthLevel"
    Donc il est possible qu'une option la aussi spécifique à office puisse te bloquer l'execution de script liés à des fichiers en locale.

    Edit: tiens je viens de relire l'article ici qui m'avait sortie de la panade on ne sait jamais

  7. #7
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    Bonjour a tous

    @oliv mauvaise nouvelle en aucun cas tu arrivera a afficher ton "CKeditoré " et dieu sait que je le connais (et j'en ai les sources y compris les fichierJS)

    le webbrowser de excel VBA = pas de JQUERY!!!!!!!!!!!
    desolé
    tu va devoir le réecrire
    c'est a dire revoir toutes les fonctions qui utilise JQUERY en JS
    j'avais tenté l'affaire pour quelques unes mais c'est vraiment trop fastidieux d'autant plus que ca t'oblige a stoker le html et les JS dans des fichiers ou mettre tout dans un textbox multiligne dans le quel tu piochera le code complet et que tu injectera dans le .document du webbrowser a l'activate ou autre de l'userform
    bien entendu silent a true et un .refresh

    de quel fonction de CK a tu besoins et quelle version du CK utilise tu ?

    edit:
    dans nombreuses de mes discussions meme a ce sujet je le signale le webbroser de VBA utilise les librairies de IE 9 cet ocx n'a pas evolué depuis IE 9 ou casiment pas !!!

    en mettant une balise meta compatible IE EDGE on arrive a utilioser meme du CSS3 et du jquery version ma grandmere au dela!!!! walouh walouh



    edit2:

    si tes besoins s'arretent au modif de texte du genre bold,italic,couleur du font,backcolor,insertion de texte,etc.... nul besoins de code pour ca
    il y a la fonction execCommand qui se gere tres bien en VBA sauf pour l'injection de texte pour ca il te faut une petite fonction js que je peut te donner qui utilise la fonction JS insertNodes

    bref selon tes besoins demande
    Nom : demo2.gif
Affichages : 1448
Taille : 873,2 Ko
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 194
    Points : 378
    Points
    378
    Par défaut
    Bonjour Patricktoulon,

    oui mais cela fonctionne sur le pc de ma boite :

    Nom : Sans titre 1.jpg
Affichages : 1476
Taille : 138,7 Ko


  9. #9
    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
    Merci à tous,
    j'ai aps encore trouvé, mais effectivement cela fonctionnait avant
    j'utilisais l'éditeur en ligne

    http://ckeditor.com/apps/ckeditor/4.0/ckeditor.js

    mais qui n'existe plus alors j'ai pris le dernier de la version 4 toujours en ligne
    https://ckeditor.com/assets/libs/cke....0/ckeditor.js

    c'est j'en suis sûr un paramètre soit de IE, peut être bien de "paramètre d'affichage de compatibilité"
    je pense que ma boite à une des policies qui indique le format de compatibilité par défaut pour l'intranet en version ie7 ou 8

  10. #10
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    Bonjour free phil
    oui je vois que c'est pas une toute jeune version du CKéditor c'est le basic avec des commandes basiques avec les quelles tu n'a nul besoins du ccck en fait
    d'ailleur je crois que la version basique n'a jamais evoluée

    allez un exemple hyper vite fait comme ca

    prend un userform

    met lui un webbroser et quelque boutons au dessus du genre avec la caption ( bold, italic,underline etc... ce que tu veux )
    dans l'activate on va ecrire l'interieur du document qui est tres simple
    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
    With Me.WebBrowser1
            .Navigate "about:blank"
            .Silent = True
            Style = "*<style>*" & vbCrLf & "p{margin:0;}" & vbCrLf & "**</style>*"
            .Height = Round(Me.InsideHeight - 63)
            code = "<html>**<head>*<meta http-equiv=""X-UA-Compatible"" content=""IE=edge"">****<script type=""text/javascript"">**//codescript;***</script>*" & Style & "*</head>*"
            code = code & "<BODY >*<div id=editeur contenteditable=true ><p></p>*</div>*</BODY>*</html>"
            code = Replace(code, "//codescript;", finsertdiv & vbCrLf & "//codescript;")
            code = Replace(code, "*", vbCrLf)
            .Document.write code
            .Silent = False
            .Refresh
            Do: DoEvents: Loop While .ReadyState <> 4 Or .Busy
            With .Document
                With .body.Style: .width = "98%"    ' WebBrowser1.width & "pt":
                    .Height = "500px"
                    .Height = WebBrowser1.Height & " pt"
                    .MarginTop = "1px": .MarginLeft = "1px": .FontSize = "18px"
                End With
                With .getelementbyid("editeur").Style
                    .display = block: .overflow = Hidden: .wordbreak = "break": .width = "98%": .Height = "98%": .Border = "1px solid red"
                    .MarginLeft = "1px"
                End With
                Debug.Print .body.innerhtml
            End With
        End With
    voila maintenant ton document dans le webbrowser est editable !!!!

    maintenant les boutons

    le bold dans son click :on va gerer la fonction execCommand de javascript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WebBrowser1.Document.execcommand "bold", false, null
    le italic dans click
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WebBrowser1.Document.execcommand "italic", false, null
    etc... etc....

    pour mettre en couleur le texte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WebBrowser1.Document.execcommand "forecolor", false, couleur   'couleur etant au format html ou RGB
    vous trouverez ma derniere fonction couleurexcel to html dans les contribs general VBA elle est toute simple et sans calcul

    le resultat vous l'avez vu dans le post précédant et je n'ai pas fini cette version

    liste des commandes utilisables et non utilisable car si dans ie non dans le webbrowser non plus bien entendu

    Controls whether the Enter key inserts a br tag or splits the current block element into two. (Not supported by Internet Explorer.)
    insertHorizontalRule
    Inserts a horizontal rule at the insertion point (deletes selection).
    insertHTML
    Inserts an HTML string at the insertion point (deletes selection). Requires a valid HTML string to be passed in as a value argument. (Not supported by Internet Explorer.)
    insertImage
    Inserts an image at the insertion point (deletes selection). Requires the image SRC URI string to be passed in as a value argument. The URI must contain at least a single character, which may be a white space. (Internet Explorer will create a link with a null URI value.)
    insertOrderedList
    Creates a numbered ordered list for the selection or at the insertion point.
    insertUnorderedList
    Creates a bulleted unordered list for the selection or at the insertion point.
    insertParagraph
    Inserts a paragraph around the selection or the current line. (Internet Explorer inserts a paragraph at the insertion point and deletes the selection.)
    insertText
    Inserts the given plain text at the insertion point (deletes selection).
    italic
    Toggles italics on/off for the selection or at the insertion point. (Internet Explorer uses the EM tag instead of I.)
    justifyCenter
    Centers the selection or insertion point.
    justifyFull
    Justifies the selection or insertion point.
    justifyLeft
    Justifies the selection or insertion point to the left.
    justifyRight
    Right-justifies the selection or the insertion point.
    outdent
    Outdents the line containing the selection or insertion point.
    paste
    Pastes the clipboard contents at the insertion point (replaces current selection). Disabled for web content. See [1].
    redo
    Redoes the previous undo command.
    removeFormat
    Removes all formatting from the current selection.
    selectAll
    Selects all of the content of the editable region.
    strikeThrough
    Toggles strikethrough on/off for the selection or at the insertion point.
    subscript
    Toggles subscript on/off for the selection or at the insertion point.
    superscript
    Toggles superscript on/off for the selection or at the insertion point.
    underline
    Toggles underline on/off for the selection or at the insertion point.
    undo
    Undoes the last executed command.
    unlink
    Removes the anchor tag from a selected anchor link.
    useCSS
    Toggles the use of HTML tags or CSS for the generated markup. Requires a boolean true/false as a value argument. NOTE: This argument is logically backwards (i.e. use false to use CSS, true to use HTML). (Not supported by Internet Explorer.) This has been deprecated; use the styleWithCSS command instead.
    styleWithCSS
    Replaces the useCSS command; argument works as expected, i.e. true modifies/generates style attributes in markup, false generates formatting elements.
    voila voila
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 194
    Points : 378
    Points
    378
    Par défaut
    pour info voici la version chargée :

    Nom : Sans titre 2.jpg
Affichages : 1447
Taille : 90,6 Ko

    je testerais volontiers ton exemple mais la il va me falloir rentrer à la maison

  12. #12
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    oui c'est la version basique c'est toujours quasiment la meme depuis le debut de CK casiment pas de jquery actif pour la simple et bonne raison que le webbrowser n'est pas compatible

    des que tu prends une version un peu améliorée c'est fini t'es dans les choux

    a ce titre pour avoir seulement le basique autant se le faire soi meme (pas de download de fichier CSS(X),JS, jquery,etc....)

    celui que tu vois dans ma reponse precedente tout se trouve dans le userform pas fe fichier meme en local

    meme les icons de bouton sont repiqués a excel
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  13. #13
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    pour la version 4.8 tu a :
    le lien pour telecharger les pack complet pour les 3 version (basic ,standard, full pakage)
    le lien pour telecharger les pack complet pour la version que tu peux te faire en ligne avec skin et tout le toin toin

    les pack sont complet et tu peux travailler en local voir transferer les contenus des js dans une balise script dans le html

    si tu veux te debarasser de tout ca fait moi signe je t'en fait un model simple que tu pourra faire grandir toi meme
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  14. #14
    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,

    Alors j'avais raison c'est bien du à un paramètre de compatibilité par défaut,

    donc en fait il y a deux résolutions, l'une cotés HTML et Patrick avait la solution il faut ajouter le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    dans le <head> de la page.

    et coté paramétrage windows , ca doit être là dans le registre


    HKCU\Software\Microsoft\Internet Explorer\BrowserEmulation"\ AllSitesCompatibilityMode (REG_DWORD) = "0"
    HKCU\Software\Microsoft\Internet Explorer\BrowserEmulation"\ IntranetCompatibilityMode (REG_DWORD) = "0"

    ici les gpo
    http://gpsearch.azurewebsites.net/de...803&ref=1#1803

  15. #15
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    oui oliv la balise meta compatible dans tout les cas est requise sinon c'est du css1 presque 2 javascript dom1 pas 2 et jquery 1 mais pas tout
    donc deja un wysiwyg dynamique walouh walouh quel qu'il soit CK,tini ,roket,etc....pour les plus connus si pas de meta compatible
    re mais je le repete pour un wysiwyg texte plus image plus layer nul besoins d'aaler chercher cet artillerie meme si tu veux les bouton dans le wysig dans le document du webbrowser
    en dom tu peux ajouter supprimer les bouton que tu veux
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  16. #16
    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
    Bonjour
    Patrick, Peux tu m'envoyer ou me donner un lien pour ton "Patrick editor" stp ?

    J'ai encore une anomalie getElementById ne semble pas fonctionner ni côté VBA ni côté JAVASCRIPT
    SUR
    MonForm1.wbEditor.Document.getElementById("htmldata").Value = Data

    j'ai une erreur "objet requis"



    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    Sub Init_EDITOR(MonForm As UserForm)
    ' Load the browser with CKEditor
     
    '' Load the browser with CKEditor
    'création dynamique du fichier HTML
        Call creerHTML
        MonForm.wbEditor.Navigate ThisWorkbook.Path & "\ckeditor_dynamique.html"
        'utilisation d'un fichier existant
        '    wbEditor.Navigate ThisWorkbook.Path & "\ckeditor\ckeditor.html"
     
     
        ' wait while page is loaded
        'Do While MonForm.wbEditor.ReadyState <> READYSTATE_COMPLETE
        Do Until Not MonForm.wbEditor.Busy And MonForm.wbEditor.ReadyState = READYSTATE_COMPLETE
            ' loaded
            DoEvents
        Loop
     
        If IsNull(UpdatedValue) Or UpdatedValue = "" Then
     
            UpdatedValue = "<p><b>Vous pouvez coller ici le texte préparé dans Word ou autre! </br> Les CHAMPS entre crochets seront remplacé par leurs valeurs dans ANNUAIRE</b></p>" _
            & "<p>Société :[SOCIETE]" & Chr(13) & Chr(10) _
            & "Titre :[TITRE]" & Chr(13) & Chr(10) _
            & "Nom :[NOM]" & Chr(13) & Chr(10) _
            & "Email :[EMAIL] </p>" & Chr(13) & Chr(10) _
            & "<p><b>EXEMPLE</b></p>" _
            & "<p>[TITRE] [NOM]," & Chr(13) & Chr(10) _
            & "</p><p>Veuillez lire le document <b>LisezMoi </b> en pi&egrave;ce jointe, il s'agit du document principal de cette correspondance.</p><p>Cordialement</p>"
     
        End If
        'SetJavascriptData "SetHTML", UpdatedValue
        DoEvents
        MacroParametree = "'SetJavascriptData ""InsertHTML"" '"
        '  SetJavascriptData "InsertHTML", UpdatedValue, MonForm
        Application.OnTime Now + TimeValue("00:00:01"), MacroParametree
     
        IsValueChanged = False
    End Sub
     
     
    Function GetJavascriptData(ByVal FunctionName As String, MonForm As UserForm) As String
        Dim v As String
        v = MonForm.wbEditor.Document.parentWindow.execScript(FunctionName & "()")
     
        While MonForm.wbEditor.Busy
            DoEvents
        Wend
        GetJavascriptData = MonForm.wbEditor.Document.getElementById("htmldata").Value
    End Function
     
    Sub SetJavascriptData(ByVal FunctionName As String, Optional ByVal Data As String, Optional MonForm1 As UserForm)
        Dim v As String
        If MonForm1 Is Nothing Then Set MonForm1 = MonForm
        If Data = "" Then Data = UpdatedValue
        MonForm1.wbEditor.Document.getElementById("htmldata").Value = Data
        v = MonForm1.wbEditor.Document.parentWindow.execScript(FunctionName & "()")
     
        While MonForm1.wbEditor.Busy Or MonForm1.wbEditor.ReadyState <> READYSTATE_COMPLETE
            DoEvents
        Wend
    End Sub

  17. #17
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re bonjour oliv

    d'une part (je n'en suis pas sur!!! j'ai laisser tomber les éditor ck et compagnie) je crois que justement les element sont protégés en ecriture par une app exterieur il faut regarder dans je jquery pour ca et c'est fastidieux c'est tres long et c'est generalement pas indenté car ils sont livré compilé (code non indenté)

    ensuite il y a un soucis avec cela pour moi tu ne peut pas attendre les deux c'est ou l'un ou l'autre
    busy=entrain de travailler
    readystate 4 = pret
    si tu met "and" il y a conflit car il se peut qu'il est fini de travailler mais pas encore pret ou l'inverse il se peut aussi que le code generateur du wysiwyg genere un travail constant de surveillance ,parti de la il sort pour le readystate mais il travaille toujours et donc pas completement pret en fait (je sais c'est con et pas logique mais c'est comme ca )
    mais en general quand il est pret il n'est pas busy sauf memoire du PC HS
    alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    with Monform :Do Until  .wbEditor.Busy or .wbEditor.ReadyState =4:end with
    si ca match pas on a un probleme

    ensuite evite d'utiliser "Data" comme variable oulah JS n'aime pas ca c'est une de ces fonctions de la meme facon que ".value " l'est pour une cellule

    je t'enverrais en MP le dernier en preparation qui a deja le wysiwyg qui fonctionne avec pas mal d'options deja mais les bouton dans le userform (comme je l'ai dis on peut piloter les fonction texte classique par VBA)

    n'ettant pas encore fini ca me gene un peu de le donner en l'etat

    hier je me suis mis a en faire un avec les boutons a l'interieur du webbrowser mais toujours sans fichier a downloader bien sur
    je bosse sur la question
    bref vois data et change ton waitIE(ton do/loop)

    je n'en suis pas sur mais cette ligne pourrait te generer une erreur "le document ne peut pas executer ......", il dois y manquer quelques doublecote
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    v = MonForm1.wbEditor.Document.parentWindow.execScript(FunctionName & "()")
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  18. #18
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    regarde oliv comme promis la capture
    je le fait vraiment pour le fun et pour toi car pour moi les bouton sont dans le userform et pilote le contenteditable tandis que toi tu veux les boutons dans le webbrowser
    tout est construit dynamiquement rien n'existe au depart meme pas les images de boutons

    Nom : demo2.gif
Affichages : 1405
Taille : 1,96 Mo
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  19. #19
    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
    Bonjour à Tous,

    J'ai corriger mon problème en rempaçant

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    MonForm.wbEditor.Document.getElementById("htmldata").Value

    par

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    MonForm.wbEditor.Document.all("htmldata").Value

    dans mon code VBA et dans la fonction javascript dans le html
    Code html : 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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <!--
    Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
    For licensing, see LICENSE.html or http://ckeditor.com/license
    -->
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
     <title>CKEditor</title>
     <meta content="text/html; charset=utf-8" http-equiv="content-type" />
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <script type="text/javascript" src="http://ckeditor.com/assets/libs/ckeditor4/4.8.0/ckeditor.js"></script>
     <script type="text/javascript" src="http://ckeditor.com/assets/libs/ckeditor4/4.8.0/config.js"></script>
    <script type="text/javascript">
    function GetHTML()
    {
     document.all('htmldata').value = CKEDITOR.instances.editor1.getData();
    }
    function SetHTML()
    {
      CKEDITOR.instances.editor1.setData(document.all('htmldata').value);
    }
    function InsertHTML()
    {
     // Get the editor instance that we want to interact with.
     var oEditor = CKEDITOR.instances.editor1;
     var value = document.all('htmldata').value;
     
     // Check the active editing mode.
     if ( oEditor.mode == 'wysiwyg' )
     {
      // Insert HTML code.
      // http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.editor.html#insertHtml
      oEditor.insertHtml( value );
     }
     else
      alert( 'You must be in WYSIWYG mode!' );
    }
    </script>
    </head>
    <body style="margin:0;">
     <div style="color:red;">
      <noscript>
       <p>
        <strong>CKEditor requires JavaScript to run</strong>. In a browser with no JavaScript
        support, like yours, you should still see the contents (HTML data) and you should
        be able to edit it normally, without a rich editor interface.
       </p>
      </noscript>
     </div>
     <p style="width:100%;">
      <textarea cols="80" id="editor1" name="editor1" rows="20" style="width:100%;border:0; padding-left:0; padding-right:0;height:100%; "></textarea>
      <script type="text/javascript">
       //<![CDATA[
     
        // This call can be placed at any point after the
        // <textarea>, or inside a <head><script> in a
        // window.onload event handler.
     
        // Replace the <textarea id="editor"> with an CKEditor
        // instance, using default configurations.
        //CKEDITOR.replace( 'editor1' );
        CKEDITOR.replace( 'editor1',
         {
                        instanceReady : function( evt )
          {
           var editor = evt.editor;
           editor.execCommand('maximize');
          },
         coreStyles_bold : { element : 'b' },
         coreStyles_italic : { element : 'i' },
         fontSize_style :
           {
            element  : 'font',
            attributes : { 'size' : '#(size)' }
           }
           
      // More definitions follow.
         } 
         );
       //]]>
       </script>
      <input type="hidden" name="htmldata" value="" />
     </p>
     </body>
    </html>

    @Patrick GOOD JOB ! je testerai quand ce sera dispo merci

  20. #20
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    Bonjour oliv
    Ok j'ai testé ca fonctionne mais il y a trois choses que tu oubli

    1. on est obligé d'etre connecté pour loader les deux JS c'est evident
    2. si ils changent la config.js tu n'en sera averti qu'a l'affichage du wysiwyg et ca pourrait ne pas te convenir
    3. demain il decide de mettre la protection byggogle(onwindow) si il devient payant par exemple tu pourra plus t'en servir et le debugage sera impossible


    hors il me semble qu'il faut qu'il soit transportable c'est ca ?

    si ca te derange pas de transporter le pack ( si tu l'a télecharger avant le passage payant bien sur )se sera possible sinon tu aura certainement un/ou x des probleme cité plus haut un jour ou l'autre d'ailleurs c'est la raison de ton post il me semble

    mon model n'a besoins d'absolument rien il est ""FULL dynamique"" aucun fichier a transporter(js;html;image;etc...) tout est construit instantanément
    autrement dit le transport se resume au frm ou fichier excel
    a mediter
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

Discussions similaires

  1. tomcat n'affiche pas les pages jsp
    Par bassam0205 dans le forum Tomcat et TomEE
    Réponses: 0
    Dernier message: 20/11/2007, 10h34
  2. Pseudo frames : n'affiche pas certaines pages
    Par mxsmaximus dans le forum Langage
    Réponses: 4
    Dernier message: 01/08/2007, 21h48
  3. N'affiche pas la page index.php
    Par toddy_101 dans le forum Apache
    Réponses: 17
    Dernier message: 02/05/2007, 18h42
  4. [EasyPHP] Local web n'affiche pas la page index.php
    Par pierrot10 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 15/08/2006, 16h21
  5. sans erreur, apache n'affiche pas la page
    Par dejiein dans le forum Apache
    Réponses: 1
    Dernier message: 01/08/2006, 18h28

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