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

JavaScript Discussion :

utilisation du correcteur de word en javascript


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 1
    Par défaut utilisation du correcteur de word en javascript
    Bonjour,
    je développe un éditeur de texte en HTML & javascript qui sera utilisé sur différents postes.
    J'utilise le correcteur de word.
    je souhaiterais utiliser le correcteur en fonction de la langue du document qui est écrit.
    le problème est que lorsque la langue demandée n'est pas installée sur l'ordi, word fini le correcteur comme s'il n'y a aucune fautes dans le document.
    Je souhaite donc savoir comment, en javascript, connaitre la liste des langues présentes sur l'ordi de l'utilisateur, afin de pouvoir l'avertir que le correcteur ne pourra pas faire sa correction.
    J'espere avoir été assez clair.
    Par avance merci.

    pour info voici mon 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
    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
    86
    87
    88
    89
    90
    91
    92
    93
    94
     
    function correcteurOrthographique(noeud)
    {
        // Lancement de Word
        var langID;
    	var oWord = new ActiveXObject('Word.Application');
    	oWord.Visible = false;
    	oWord.WindowState = 2;
     
    	// Configuration du correcteur orthographique
     
    	oWord.Application.Options.CheckGrammarWithSpelling = true;
        oWord.Application.Options.SuggestSpellingCorrections = true;
        oWord.Application.Options.IgnoreUppercase = true;
        oWord.Application.Options.AutoFormatDeleteAutoSpaces = false;
        oWord.Application.ScreenUpdating = true;
     
    	switch(document.getElementById('edth_ppt').idt.substring(27))
    	{
    		case "GB":
    			langID = 2057;
    			break;
    		case "ES":
    			langID = 3082;
    			break;
    		case "AL":
    			langID = 1031;
    			break;
    		default:
    			langID = 1036;
    			break;
    	}
     
    	// Lancement de la correction du texte
     
    	var oWordDoc = oWord.Documents.Add();
    	corriger(noeud,oWord,oWordDoc,langID);
    	//alert("fin corriger");
     
        // Liberation de Word
     
    	oWord.Documents.Close(0);
        oWordDoc = null;
    	oWord.Top = 147;
    	oWord.Application.Quit();
    	oWord = null;
    }
    function corriger(noeud, oWord, oWordDoc, langID)
    {
        var wdDialogToolsSpellingAndGrammar = 828;
        var nbBlancDeb;
        var nbBlancFin;
        var result;
    	for(var i=0; result!=0 && i<noeud.childNodes.length; i++)
    	{
    		if(noeud.childNodes[i].nodeType == 1)
    		{
    			if(noeud.childNodes[i].nodeName != "SPAN" || noeud.childNodes[i].edth_type != "var")
    				result = corriger(noeud.childNodes[i],oWord, oWordDoc, langID);
    		}
    		else
    		{
    			oWord.Visible = false;
    			oWord.WindowState = 2;
    			oWord.Top = 1000;
    			var textLine = noeud.childNodes[i].nodeValue;
    			var texteEncode;
                nbBlancDeb = noeud.childNodes[i].nodeValue.length - (ltrim(noeud.childNodes[i].nodeValue)).length;
                nbBlancFin = noeud.childNodes[i].nodeValue.length - (rtrim(noeud.childNodes[i].nodeValue)).length;
                textLine = trim(textLine);
    			var firstLetterInUpperCase = (textLine.substring(0,1) ==  textLine.substring(0,1).toUpperCase())?true:false;
     
    			if (!firstLetterInUpperCase) textLine = textLine.substring(0,1).toUpperCase() + textLine.substring(1);
    			oWordDoc.Select();
    			oWord.Selection.Text = textLine;
     
    			if ((oWord.Selection.Range.SpellingErrors.Count > 0)||(oWord.Selection.Range.GrammaticalErrors.Count > 0))
    			{
    				oWord.Selection.LanguageID = langID;
    				result = oWord.Dialogs.Item(wdDialogToolsSpellingAndGrammar).Show();
    				oWordDoc.Select();
    				textLine = oWord.Selection.Text;
    				if (!firstLetterInUpperCase) textLine = textLine.substring(0,1).toLowerCase() + textLine.substring(1);
    				texteEncode = encodeURI(textLine);
    				texteEncode = texteEncode.replace(/%0D/g,"");
    				textLine = decodeURI(texteEncode);
    				textLine = blanc(nbBlancDeb) + textLine + blanc(nbBlancFin);
    				textLine = textLine.replace(/<BR>/g, "");
    				noeud.childNodes[i].nodeValue = textLine;
    			}
    		}
    	}
    	return result;
    }

  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
    en passant par un autre activeX ???

    de toute façon ça limite à IE ...
    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. [WebForms]Comment utiliser une variable de session depuis JavaScript ?
    Par ThunderBib dans le forum Général Dotnet
    Réponses: 5
    Dernier message: 05/05/2006, 14h01
  2. [PHP-JS] utiliser une variable php dans du javascript
    Par kcizth dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/02/2006, 11h53
  3. Utiliser un contrôle style "Word"
    Par soso78 dans le forum IHM
    Réponses: 5
    Dernier message: 13/12/2005, 22h59
  4. utiliser un recordset dans un script javascript
    Par insect INC dans le forum ASP
    Réponses: 4
    Dernier message: 10/10/2005, 19h29
  5. PB Ouverture MS WORD en javascript
    Par oyigit dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 03/10/2005, 17h31

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