1 pi�ce(s) jointe(s)
Automation Excel/VC++ comment supprimer 1 colonne?
Bonjour,
Je sais ouvri une feuille excel et ecrire dans les cellules, mais je ne sais pas comment supprimer une colonne ? dans les classes Wrappers de EXcel il n'ya pas les classe "Row" "Columns" "Cells" "Cell" mais elles sont dans celle de Word, alors je me demandais si on pouvait les utiliser dans excel?
/******************Mes question sur Excel*******************/
1) Supprimer une colonne?
2) Supprimer plusieurs Colonnes (selection multiple) ?
3)inserer une ligne
4)Utiliser la methode insertfile() de l'objet range : par exemple ouvrir un autre fichier excel, selectionner une plage et la mettre dans une autre feuille excel
M�me si vous avez q'une seul r�ponse sur les 4 je suis preneurs !
Voici un exemple de code, Merci d'avance � ceux qui prennent le temps de me r�pondre!
Code:
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
|
/********************************************************/
CWorsheet MaFeuille;
CRange MaPlageExcel;
CColumn MaColonne; // pris dans l objet Word ???
/*
//Pour faire ça j'ai envie de me placer dans la cellule B3,
//de selectionner sa colonne puis utiliser une fonction delete avec en parametre 1 pour lui dire qu'il s'agit d'un décalage vers la gauche
lpDisp=MaFeuille.get_Range(COleVariant("B3"),COleVariant("B3"));
ASSERT(lpDisp);
MaPlageExcel.AttachDispatch(lpDisp); // a partir d'ici j ai mon objet range sur la cellule B3
lpDisp=MaPlageExcel.get_EntireColumn();
ASSERT(lpDisp);
MaColonne.AttachDispatch(lpDisp);
MaColonne.Delete(); // ERREUR MEMBRE INTROUVABLE EN fait je me demande bien si
//je peux utiliser l'objet colonne d'un classe wrapper WORD, si c'est non, comment
//ça se fait qu'on ne l a pas dans excel ???
*/
//2) (selection multiple et suppression)Comment je peux supprimer la colonne B3 et D3 DECALGE DES COLONNES VERS LA GAUCHE
/*
// Ma selction n est pas bonne car je prende de A3 a C3 alors que je veux A3 ET C3 ??
lpDisp=MaFeuille.get_Range(COleVariant("A3:C3"),COleVariant("C3"));
ASSERT(lpDisp);
MaPlageExcel.AttachDispatch(lpDisp); // a partir d'ici j ai mon objet range sur la cellule B3
MaPlageExcel.Select();
MaPlageExcel.Delete(COleVariant((short)1)); //1 pour decalage a droite
//ça supprime mes mes pas tout la colonne |
Sur ce je vous souhaite une bonne journ�e et vive l'automation d'excel avec vc++!!!
Merci beaucoup!
pense � mettre la balise code, Merci Farscape
solution pour supprimer 1 colonne
Bonjour
J'ai trouv� comment supprimer une colonne, en fait d'apr�s le code de la macro enregistr� pour faire cela, on utilise un objet selection, or l'abjet selection ne fait pas parti des classes wrappers de excel ainsi que ROWS,COLUMNS....
Donc j'ai essay� un truc simple qui fonction
//CRange MaPlageExcel;
//CWorkSheet MaFeuille;
................
//je me place sur une cellule de la colonne concern� soit la cellule B3
lpDisp=MaFeuille.get_Range(COleVariant("B3"),COleVariant("B3"));
ASSERT(lpDisp);
MaPlageExcel.AttachDispatch(lpDisp); // a partir d'ici j ai mon objet range sur la cellule B3
// je met maintenant dans ma plage la colonne entiere
lpDisp=MaPlageExcel.get_EntireColumn();
ASSERT(lpDisp);
MaPlageExcel.AttachDispatch(lpDisp);
//je supprime ma colonne
MaPlageExcel.Delete(COleVariant(short(1)));
Tout simplement!
Si �a peut int�r�ss� quelqu'un !