| auteurs : blondelle, pottiez, Alain Malval | Cette procédure permet de créer une Instance de Word.
Dans le try on récupére l'instance Word si il est chargé.
Le catch(...) permet de traiter le cas Word non chargé, et donc de le charger.
Puis on rend l'application Word visible.
Nous allons manipuler Word dans le cadre de son pilotage OLE, et donc tenter de récupérer l'instance active.
Le Variant vMSWord sera initialisé avec cette valeur et permettra par la suite de manipuler l'ensemble des éléments propres à Word.
Variant vMSWord;
try
{
vMSWord = Variant:: GetActiveObject (" Word.Application " );
}
catch (...)
{
vMSWord = Variant:: CreateObject (" Word.Application " );
}
vMSWord.OlePropertySet (" Visible " , true );
|
|
| auteurs : blondelle, pottiez, firejocker | Cette procédure permet de créer un nouveau document à partir de l'instance de Word et d'afficher une feuille vierge.
Variant vWDocuments, vWDocument;
vWDocuments = vMSWord.OlePropertyGet (" Documents " );
vWDocument = vWDocuments.OleFunction (" Add " );
|
|
| auteurs : blondelle, pottiez, firejocker | Cette procédure permet de d'ouvrir un document Word existant.
Important : il est préférable de déclarer le nom du fichier et les differents paramètres de la fonction Open dans des variables.
Les variables non utilisées sont déclarées "Unassigned".
Nous allons travailler sur le Variant représentant l'instance du document.
Variant vFileName, vLink, vReadOnly, vFormat, vReadPass, vWDocuments, vWDocument;
vFileName = " c:\\book1.doc " ;
vLink = Unassigned;
vReadOnly = false ;
vFormat = Unassigned;
vReadPass = " MotDePasse " ;
vWDocuments = vMSWord.OlePropertyGet (" Documents " );
vWDocument = vWDocuments.OleFunction (" Open " , vFileName, vLink, vReadOnly, vFormat, vReadPass);
|
|
| auteurs : blondelle, pottiez, firejocker | Cette procédure permet de sauvegarder le document sous le nom souhaité.
Important : il est préférable de déclarer le nom du fichier de la fonction Saveas dans une variable.
L'objet cible est un Variant (vWDocument) correspondant au document à sauver.
Variant vFileName;
vFileName = " c:\\book1.doc " ;
vWDocument.OleProcedure (" Saveas " , vFileName);
|
|
| auteurs : blondelle, pottiez, firejocker |
Cette procédure permet de sauvegarder le document avec le nom donné à l'ouverture.
L'objet cible est un Variant (vWDocument) correspondant au document à sauver.
vWDocument.OleProcedure (" Save " );
|
|
| auteurs : blondelle, pottiez, firejocker |
Cette procédure permet de fermer le document.
Nous allons travailler sur le Variant représentant l'instance du document.
Variant vMSWord;
vWDocuments.OleFunction (" Close " );
vMSWord = Unassigned;
|
|
| auteurs : blondelle, pottiez, firejocker |
Cette procedure permet de quitter Word.
Nous allons travailler sur le Variant représentant l'instance de Word.
Variant vMSWord;
vMSWord.OleFunction (" Quit " );
vMSWord = Unassigned;
|
|
| auteurs : blondelle, pottiez, firejocker |
Cette procédure permet d'imprimer le document.
vWDocument.OleProcedure (" PrintOut " );
|
vMSWord.OleProcedure (" PrintOut " );
|
|
| auteurs : blondelle, pottiez, firejocker |
Cette procédure permet d'imprimer plusieurs exemplaires du document.
Procedure ImprimerPage
vMSWord.OleProcedure (" PrintOut " , 2 , true );
vMSWord.OleProcedure (" PrintOut " , 4 , 1 , 2 );
|
|
| auteurs : blondelle, pottiez |
Cette procédure permet d'avoir un aperçu avant impression.
vWDocument.OleProcedure (" PrintPreview " );
vWDocument.OleProcedure (" ClosePrintPreview " );
|
|
| auteurs : blondelle, pottiez, firejocker |
Cette procédure permet de forcer un mode d'affichage.
Il existe plusieurs modes dont :
- le mode plan : forcer la propriété "Type" à 2.
- le mode page : forcer la propriété "Type" à 3.
vWDocument.OlePropertyGet (" ActiveWindow " ).OlePropertyGet (" View " ).OlePropertySet (" Type " , 2 );
vWDocument.OlePropertyGet (" ActiveWindow " ).OlePropertyGet (" View " ).OlePropertySet (" Type " , 3 );
|
|
lien : Comment avoir différents modes d'affichage ?
|
| auteurs : blondelle, pottiez, Corfoudiou |
Voici une liste des différents modes d'affichage :
vWDocument.OlePropertyGet (" ActiveWindow " ).OlePropertyGet (" ActivePane " ).OlePropertyGet (" View " ).
OlePropertySet (" Type " , 1 );
vWDocument.OlePropertyGet (" ActiveWindow " ).OlePropertyGet (" ActivePane " ).OlePropertyGet (" View " ).
OlePropertySet (" Type " , 2 );
vWDocument.OlePropertyGet (" ActiveWindow " ).OlePropertyGet (" ActivePane " ).OlePropertyGet (" View " ).
OlePropertySet (" Type " , 3 );
vWDocument.OlePropertyGet (" ActiveWindow " ).OlePropertyGet (" ActivePane " ).OlePropertyGet (" View " ).
OlePropertySet (" Type " , 4 );
vWDocument.OlePropertyGet (" ActiveWindow " ).OlePropertyGet (" ActivePane " ).OlePropertyGet (" View " ).
OlePropertySet (" Type " , 5 );
vWDocument.OlePropertyGet (" ActiveWindow " ).OlePropertyGet (" ActivePane " ).OlePropertyGet (" View " ).
OlePropertySet (" Type " , 6 );
|
|
| auteurs : blondelle, pottiez |
Cette procédure permet de connaître le numéro de version Word que l'on utilise, ceci peut être utile car certaines fonctions ont été complétées avec les nouvelles versions.
String version_word;
version_word = vMSWord.OlePropertyGet (" Version " );
|
|
Consultez les autres F.A.Q.
|
|