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

Dotnet Discussion :

Obtenir les valeurs depuis un System.Runtime.Remoting.Proxies.__TransparentProxy


Sujet :

Dotnet

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 135
    Points : 81
    Points
    81
    Par défaut Obtenir les valeurs depuis un System.Runtime.Remoting.Proxies.__TransparentProxy
    Bonjour a tous,

    Decidemment je m'en sors pas avec C#, dotnet et un addin excel que je dois creer avec Visual studio 2008, VSTO 2005 et excel 2003, il s'agit bien d'un projet addin et non workbook.

    Voila je recupere un objet range lorsque l'utilisateur modifie la valeur d'une cellule en recuperant l'evenement :

    this.Application.SheetChange += new Microsoft.Office.Interop.Excel.AppEvents_SheetChangeEventHandler(Application_SheetChange);
    A chaque fois que je modifie une cellule, ma fonction Application_SheetChange est bien executer, elle se prototype de la sorte :
    void Application_SheetChange(object Sh, Microsoft.Office.Interop.Excel.Range Target) {}
    En revanche l'objet Range que je recupere est du type :
    Microsoft.Office.Interop.Excel.Range {System.Runtime.Remoting.Proxies.__TransparentProxy}

    Je peux acceder a certains champs mais pas aux champs Name qui me leve une exception ...

    Edit :

    J'ai meme reduit le probleme a :

    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
     
    void Application_SheetChange(object Sh, Microsoft.Office.Interop.Excel.Range Target) {
                try {
                    Excel.Workbook wb = Globals.ThisAddIn.Workbook;
                    Excel.Worksheet ws = Globals.ThisAddIn.Worksheet;
                    Excel.Range range = ws.get_Range("A1", "A1");
     
                    range.Name = "Block";
                    MessageBox.Show(range.Name);
                }
                catch (Exception notIE) {
                    MessageBox.Show("Exception : " + notIE.Message);
                    //throw new NotImplementedException();
                }
            }
    A la ligne : MessageBox.Show(range.Name);
    Exception leve :
    Nom inconnu. (Exception from HRESULT; 0X80020006 (DISP_E_UNKNOWNAME))

    Alors que ma cellule A1 est bien nomme block...


    Merci

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 135
    Points : 81
    Points
    81
    Par défaut
    Bon ba cette fois si encore j'y suis arrive tout seul comme un grand, ca aura le merite de servir de tuto...

    The name of a Range object is a Name object. For every other type of object, the name is a String.

    http://msdn.microsoft.com/en-us/libr...me(VS.80).aspx
    donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    range.Name = "Block";
     Excel.Name name = (Excel.Name)range.Name;
    MessageBox.Show(name.Name);

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 14/10/2009, 16h16
  2. Réponses: 1
    Dernier message: 27/08/2008, 21h34
  3. Comment obtenir la valeur depuis une requêtre SQL
    Par xianxian620 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 21/03/2007, 10h34
  4. Réponses: 3
    Dernier message: 27/07/2006, 17h01
  5. [C#][ProgressBar]Obtenir les données depuis un autre objet
    Par Kcirtap dans le forum Windows Forms
    Réponses: 7
    Dernier message: 26/10/2005, 11h56

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