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

C++Builder Discussion :

OLE Excel, change le nom d'une feuille


Sujet :

C++Builder

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �m�rite
    Avatar de bandit boy
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    916
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 916
    Par d�faut OLE Excel, change le nom d'une feuille
    Bonjour,
    Je d�veloppe une application, et extrait un petit compte rendu sous Excel;
    - J'ouvre Excel,
    - J'ouvre un nouveau classeur

    Jusque l�, tout ce passe bien, puis quand, j'essaye de changer le nom d'une feuille EXcel (existante (Feuil1), ou cr��e) j'obtient un message d'erreur qui me dit "type de variable incorrect" !!

    Voici le code:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
                GlobalParameters.vMSExcel = Variant::CreateObject("Excel.Application");
                GlobalParameters.vMSExcel.OlePropertySet("Visible", true);
                GlobalParameters.vXLWorkbooks = GlobalParameters.vMSExcel.OlePropertyGet("Workbooks");
                GlobalParameters.vXLWorkbook = GlobalParameters.vXLWorkbooks.OleFunction("Add");
                GlobalParameters.vWorksheets = GlobalParameters.vXLWorkbook.OlePropertyGet("Worksheets");
                GlobalParameters.vWorksheet = GlobalParameters.vXLWorkbook.OlePropertyGet("Worksheets", 1);
                Variant vWsNewName = "All_Measurement";
                GlobalParameters.vWorksheet.OlePropertySet("Name", vWsNewName);
    Qu'est ce que j'ai fait de mal? O� se trouve le probl�me?
    Merci

  2. #2
    Expert confirm�

    Avatar de pottiez
    Homme Profil pro
    D�veloppeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : D�veloppeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par d�faut
    Tu l'as peut �tre d�j� vu, mais je le signal tout de m�me, voici le code dans la FAQ : http://cpp.developpez.com/faq/bcb/?p...heetchangename

  3. #3
    Membre �clair� Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par d�faut
    Essaie ceci

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
       AnsiString NomFeuille = "All_Measurement";
     
       Variant vWsNewName = StringToOleStr(NomFeuille);
     
       GlobalParameters.vWorksheet.OlePropertySet("Name", vWsNewName);

  4. #4
    R�dacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par d�faut
    Salut bandit boy
    Je pense que ton code est bon, je crois qu'il manque la selection de la feuille (ce qui parrait logique si l'on a un classeur de plusieurs feuilles)
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
                GlobalParameters.vWorksheet = GlobalParameters.vXLWorkbook.OlePropertyGet("Worksheets", 1);
    // on selectionne la Feuil1 (a adapter a ton code)
    vWorksheet.OleProcedure("Select");
                GlobalParameters.vWorksheet.OlePropertySet("Name", vWsNewName);

  5. #5
    Membre �m�rite
    Avatar de bandit boy
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    916
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 916
    Par d�faut
    Merci beaucoup messieurs.

    pottiez, je te remercie, mais j'avais effectivement vue cette page, mon code n'est autre que des copier/coller de cette page.

    kurul1, super, ta m�thode fonctionne � merveille.

    blondelle, merci beaucoup, mais je ne sais pas pourquoi l'ajout du "Select" ne change rien, j'ai exactement la m�me erreur .

    Merci encore.

  6. #6
    R�dacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par d�faut
    Vraiment bizarre ta variable etait declaree en Variant, normalement il ne devrait pas y avoir d'erreur

  7. #7
    Membre �clair� Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par d�faut
    Justement moi j'avais aussi cette erreur et je l'ai r�solu comme expliqu� plus haut

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [XL-2003] Nom de boutons qui change quand je copie une feuille Excel.
    Par Nicoyong dans le forum Macros et VBA Excel
    R�ponses: 6
    Dernier message: 23/04/2015, 15h35
  2. comment je change le nom d'une feuille d'un Tree
    Par groupe dans le forum GWT et Vaadin
    R�ponses: 1
    Dernier message: 27/05/2008, 16h10
  3. R�ponses: 1
    Dernier message: 15/11/2007, 13h51
  4. R�ponses: 4
    Dernier message: 09/11/2005, 17h11

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