Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

Vous n'avez pas encore de compte Developpez.com ? L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Developpez.com

C++

Choisissez la catégorie, puis la rubrique :

logo
Sommaire > MS Office > Word > Modification du texte
        Comment supprimer X caractères ?
        Comment insérer une date ou une heure ?
        Comment insérer un lien hypertexte ?
        Comment coller le presse-papier ?
        Comment copier la sélection ?
        Comment changer la couleur du texte ?
        Comment retourner à la ligne normalement ?
        Comment choisir la mise en forme du texte ?
        Comment sélectionner tout le document ?
        Comment insérer du texte provenant d'une chaîne de caractères ?
        Comment ajouter le numéro de page en champ automatique ?
        Comment ajouter le nombre de pages en champ automatique ?
        Comment ajouter la date en champ automatique ?
        Comment ajouter l'heure en champ automatique ?
        Comment mettre a jour des champs automatiques ?
        Comment insérer une image à partir d'un fichier ?
        Comment charger une image et paramétrer pour que l'image soit toujours de dimensions proportionnelles à celles d'origine ?
        Comment remplacer un texte par un autre ?
        Comment écrire dans l'entête du document ?
        Comment écrire dans le pied de page du document ?
        Comment insérer, soit dans l'entête, soit dans le pied de page, le numéro de page ?
        Comment mettre le texte selectionné en majuscules ou minuscules ?



Comment supprimer X caractères ?
Créé le 10/12/2007[haut]
auteurs : blondelle, pottiez, firejocker

Dans une boucle ces fonctions permettent de supprimer X caractères, soit en simulant l'appui sur la touche Backspace, soit l'appui sur la touche Del.

// on simule la touche Backspace
    vMSWord.OlePropertyGet("Selection").OleFunction("TypeBackspace");
    
    // on simule la touche Del
    vMSWord.OlePropertyGet("Selection").OleFunction("Delete", 1, 3);    

Comment insérer une date ou une heure ?
Créé le 10/12/2007[haut]
auteurs : blondelle, pottiez, firejocker

Cette procédure permet d'insérer une date ou une heure ou les deux.


Voici les différents formats possible :
TypeDate
1 : ChaineDate = "jj/MM/aaaa";
2 : ChaineDate = "jjjj j MMMM aaaa";
3 : ChaineDate = "j MMMM aaaa";
4 : ChaineDate = "jj/MM/aa";
5 : ChaineDate = "aaaa-MM-jj";
6 : ChaineDate = "j-MMM-aa";
7 : ChaineDate = "jj.MM.aaaa";
8 : ChaineDate = "j MMM. aa";
9 : ChaineDate = "jj.MM.aa";
10 : ChaineDate = "MMMM aa";
11 : ChaineDate = "MMM-aa";
12 : ChaineDate = "jj/MM/aaaa HH:mm";
13 : ChaineDate = "jj/MM/aaaa HH:mm:ss";
14 : ChaineDate = "h:mm";
15 : ChaineDate = "h:mm:ss";
16 : ChaineDate = "HH:mm";
17 : ChaineDate = "HH:mm:ss";

    vMSWord.OlePropertyGet("Selection").OleProcedure("InsertDateTime", "dddd, dd MMMM YYYY", false);

Comment insérer un lien hypertexte ?
Créé le 10/12/2007[haut]
auteurs : blondelle, pottiez, firejocker

Cette procédure insère un lien hypertexte.
Attention : si le lien est un chemin windows, il ne faut pas oublier de doubler le '\\' dans le nom de chemin, autrement le lien ne fonctionnera pas lorsque l'on cliquera dessus.


    vMSWord.OlePropertyGet("Selection").OlePropertyGet("Hyperlinks").
    OleProcedure("Add", vMSWord.OlePropertyGet("Selection").OlePropertyGet("Range"),
    "c:\\book1.doc");

Comment coller le presse-papier ?
Créé le 10/12/2007[haut]
auteurs : blondelle, pottiez, firejocker

Cette procédure permet de coller des données en provenance du presse-papier.
Il faut ici passer l'instance de Word et non celle du document.


    vMSWord.OlePropertyGet("Selection").OleProcedure("PasteAndFormat", 0);

Comment copier la sélection ?
Créé le 10/12/2007[haut]
auteurs : blondelle, pottiez

Cette procédure permet de copier la sélection.
Il faut ici passer l'instance de Word et non celle du document.


    vMSWord.OlePropertyGet("Selection").OleProcedure("Copy");

Comment changer la couleur du texte ?
Créé le 10/12/2007[haut]
auteurs : blondelle, pottiez

Cette procédure permet de changer la couleur du texte.
ColorIndex est compris entre 0 et 16.


    vMSWord.OlePropertyGet("Selection").OlePropertyGet("Font").OlePropertySet("ColorIndex", 5);

Comment retourner à la ligne normalement ?
Créé le 10/12/2007[haut]
auteurs : blondelle, pottiez, firejocker

Cette procédure permet de retourner à la ligne "normalement"
ex : met fin à la mise en forme d'un "titre 1".


    vMSWord.OlePropertyGet("Selection").OleFunction("TypeParagraph");

Comment choisir la mise en forme du texte ?
Créé le 10/12/2007[haut]
auteurs : blondelle, pottiez, firejocker

Cette procédure permet de choisir la mise en forme du texte (normal, titre1...).


    vMSWord.OlePropertyGet("Selection").OlePropertySet("Style", "Titre 2");

Comment sélectionner tout le document ?
Créé le 10/12/2007[haut]
auteurs : blondelle, pottiez, firejocker

Cette procédure permet de sélectionner tout le contenu du document.


    vMSWord.OlePropertyGet("Selection").OleFunction("WholeStory");

Comment insérer du texte provenant d'une chaîne de caractères ?
Créé le 10/12/2007[haut]
auteurs : blondelle, pottiez, firejocker

Cette procédure permet d'insérer une chaîne de caractères sur le document Word sélectionné.


    // Il faut passer par l'instance de Word et non par celle du document
 
    vMSWord.OlePropertyGet("Selection").OleProcedure("TypeText", "insertion de texte");

Comment ajouter le numéro de page en champ automatique ?
Créé le 10/12/2007[haut]
auteurs : blondelle, pottiez, firejocker

Cette procédure permet de rajouter le numéro de page en champ automatique.
wdFieldPage = 33

    vMSWord.OlePropertyGet("Selection").OlePropertyGet("Fields").
    OleFunction("Add", vMSWord.OlePropertyGet("Selection").OlePropertyGet("Range"), 33);

Comment ajouter le nombre de pages en champ automatique ?
Créé le 10/12/2007[haut]
auteurs : blondelle, pottiez, firejocker

Cette procédure permet d'ajouter le nombre total de pages en champ automatique.
wdFielNumpages = 26

    vMSWord.OlePropertyGet("Selection").OlePropertyGet("Fields").
    OleFunction("Add", vMSWord.OlePropertyGet("Selection").OlePropertyGet("Range"), 26);

Comment ajouter la date en champ automatique ?
Créé le 10/12/2007[haut]
auteurs : blondelle, pottiez, firejocker

Cette fonction permet d'ajouter la date en champ automatique.
wdFielDate = 31

    vMSWord.OlePropertyGet("Selection").OlePropertyGet("Fields").
    OleFunction("Add", vMSWord.OlePropertyGet("Selection").OlePropertyGet("Range"), 31);

Comment ajouter l'heure en champ automatique ?
Créé le 10/12/2007[haut]
auteurs : blondelle, pottiez, firejocker

Cette fonction permet de rajouter l'heure en champ automatique.
wdFielTime = 32

    vMSWord.OlePropertyGet("Selection").OlePropertyGet("Fields").
    OleFunction("Add", vMSWord.OlePropertyGet("Selection").OlePropertyGet("Range"), 32);

Comment mettre a jour des champs automatiques ?
Créé le 10/12/2007[haut]
auteurs : blondelle, pottiez, firejocker

Cette procédure permet de mettre à jour des champs automatiques lorsque le curseur est dessus.
Exemple : date, nom du fichier,...

    vMSWord.OlePropertyGet("Selection").OlePropertyGet("Fields").OleProcedure("Update");

Comment insérer une image à partir d'un fichier ?
Créé le 10/12/2007[haut]
auteurs : blondelle, pottiez, firejocker

Cette procédure permet d'insérer une image à partir d'un emplacement déterminé.
LinkToFile = False, SaveWithDocument = True

    Variant vFileName;
    // chemin de l'image
    vFileName = "C:\\Documents and Settings\\blondelle\\Mes documents\\Mes images\\
    041227165954_31.jpg";
 // Voici comment procéder
    vMSWord.OlePropertyGet("Selection").OlePropertyGet("InlineShapes").
    OleProcedure("AddPicture", vFileName, LinkToFile:=False, SaveWithDocument:=True);
    // le code correspondant
    vMSWord.OlePropertyGet("Selection").OlePropertyGet("InlineShapes").
    OleProcedure("AddPicture", vFileName, false, true);

Comment charger une image et paramétrer pour que l'image soit toujours de dimensions proportionnelles à celles d'origine ?
Créé le 10/12/2007[haut]
auteurs : blondelle, pottiez

Cette procédure permet de charger une image au format jpg et de conserver la proportionalité originale.


Variant vFileName, Shape;

vFileName = "C:\\Documents and Settings\\blondelle\\Mes documents\\Mes images\\041227165954_31.jpg";

Shape = vMSWord.OlePropertyGet("Selection").OlePropertyGet("InlineShapes").OleFunction("AddPicture", vFileName, false, true);
Shape.OlePropertySet("LockAspectRatio", true);

Comment remplacer un texte par un autre ?
Créé le 10/12/2007[haut]
auteurs : blondelle, pottiez, Corfoudiou

Cette procédure permet de remplacer du texte par un autre.
Exemple :
toto texte à rechercher.
tata texte qui remplace.

    vMSWord.OlePropertyGet("Selection").OlePropertyGet("Find").
    OleFunction("Execute", "toto", false, true, false, false, false, true, false, false,
    "tata", 2, false, false, false, false);

Comment écrire dans l'entête du document ?
Créé le 10/12/2007[haut]
auteurs : blondelle, pottiez

Cette procédure permet d'écrire dans l'entête du document.

    vWDocument.OlePropertyGet("ActiveWindow").OlePropertyGet("ActivePane").OlePropertyGet("View").OlePropertySet("SeekView", "9");
    vMSWord.OlePropertyGet("Selection").OleProcedure("TypeText", "écrire dans l'entête");

Comment écrire dans le pied de page du document ?
Créé le 10/12/2007[haut]
auteurs : blondelle, pottiez

Cette procédure permet d'écrire dans le pied de page du document.

vWDocument.OlePropertyGet("ActiveWindow").OlePropertyGet("ActivePane").OlePropertyGet("View").OlePropertySet("SeekView", "10");
vMSWord.OlePropertyGet("Selection").OleProcedure("TypeText", "écrire dans le pied de page");

Comment insérer, soit dans l'entête, soit dans le pied de page, le numéro de page ?
Créé le 10/12/2007[haut]
auteur : blondelle

Cette fonction permet d'ajouter une numérotation automatique dans l'entête ou le pied de page, de positionner cette numérotation, et de sortir de l'entête ou du pied de page.

  // pour l'entête utiliser le paramètre 9, pour le pied de page le paramètre 10
  vWDocument.OlePropertyGet("ActiveWindow").OlePropertyGet("ActivePane").OlePropertyGet("View").OlePropertySet("SeekView", "10"); // 9 entête, 10 pied de page
  // ajout de la numérotation de page automatique
  vMSWord.OlePropertyGet("Selection").OlePropertyGet("Fields").OleFunction("Add", vMSWord.OlePropertyGet("Selection").OlePropertyGet("Range"), 33); // ajout numéro page
  // valeur de l'alignement centrer 1, droite 2, gauche 0
  vMSWord.OlePropertyGet("Selection").OlePropertyGet("ParagraphFormat").OlePropertySet("Alignment", 1); // centrer 1, droite 2, gauche 0
  // on sort de l'entête ou du pied de page
  vWDocument.OlePropertyGet("ActiveWindow").OlePropertyGet("ActivePane").OlePropertyGet("View").OlePropertySet("SeekView", 0); // sortir de l'entête

Comment mettre le texte selectionné en majuscules ou minuscules ?
Créé le 22/11/2010[haut]
auteurs : blondelle, pottiez

Cette procédure permet de mettre le texte selectionné en majuscules ou minuscules.
Ce code agit comme une bascule Minuscule-Majuscule.

vMSWord.OlePropertyGet("Selection").OlePropertyGet("Font").OlePropertySet("AllCaps", 9999998); // wdToggle = 9999998


Consultez les autres F.A.Q.


Valid XHTML 1.0 TransitionalValid CSS!

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2009 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Contacter le responsable de la rubrique C++

Partenaire : Hébergement Web