2010-03-16 9 views
1

Question1: Comment accéder au formulaire Windows et ses contrôles sur VSTO Excel en utilisant C#?Travailler avec VSTO Excel en utilisant C#

Question2: Lors de l'exécution de l'application de classeur Excel VSTO, je veux total no. des colonnes actives lorsque l'utilisateur collent les données. Supposons que l'utilisateur peut coller 5 données de colonne ou 10 données de colonne. Grâce au code, je veux comprendre le nombre total. des colonnes (également le nombre total de lignes si possible) une fois que l'utilisateur colle/charge les données tabulaires. Comment obtenir une valeur de plage indéfinie pour les cellules à l'exécution de VSTO Excel lorsque les données sont collées sur le même.

S'il vous plaît aidez-moi avec le code pour ces deux questions.

+0

Salut Venkat, travailler avec .VSTO addins pour Excel peut être amusant, et aussi difficile. Q1: Lors de l'utilisation de visual studio, un contrôle utilisateur peut être ajouté à votre addin, avec même votre propre objet ruban si vous le souhaitez. Vous allez juste au projet, ajoutez le composant et voilà. Grande chose, tout fonctionne exactement comme si vous étiez en train de coder une application winforms normale. Q2: Pas trop sûr de ce que vous voulez dire, mais dans vba vous pouvez écrire cela pour obtenir le nombre de lignes? : Sous test() 'entrez Dim compteur As Long' entrez counter = Range ("A: A"). Rows.Count 'entrez MsgBox (compteur)' entrez End Sub –

Répondre

1

Q1: Comme vous le faites dans une application WinForms, lorsque vous créez le formulaire Windows, gardez une référence à celui-ci. Assurez-vous d'exposer les accesseurs de propriété (get; set;) pour le formulaire.

Q2: Vous devez implémenter un AppEvents_SheetChangeEventHandler et affecter à la propriété d'événement Globals.ThisAddin.Application.SheetChange. Dans le gestionnaire d'événements, le deuxième argument est Excel.Range TargetRange. TargetRange est l'objet Excel.Range contenant les informations collées. La propriété range.Columns.Count vous obtient le total des colonnes dans la plage collée. Rows.Count vous obtient le nombre total de lignes dans le collé.

Vous ne savez pas exactement ce que vous entendez par "comment obtenir une valeur de plage indéfinie pour les cellules". Pouvez-vous clarifier?

Questions connexes