2010-02-03 3 views
1

Il est évidemment possible d'une démo j'ai vu plus tôt mais n'a pas pris assez de détailsMise à jour du système externe à partir d'Excel

J'envisage de faire un appel de fonction telle que

=MyRTDReverse("keyvalue", "fieldName", [AC51]) 

ou

=MyRTDReverse("keyvalue", [AB51], [AC51]) // where AB51 has the field name and AC51 has the field value 

etc.

où la mise à jour de la valeur dans la cellule AC51 déclenche un changement

des échantillons/modèles sur la façon dont cela fonctionnerait?

Mise à jour - en utilisant .Net 3.5 + VSTO MISE À JOUR 2 - préféreraient ne pas utiliser VSTO et plutôt faire une UDF/RTD comme appel de routine

+0

Utilisez-vous VSTO? Quelle version de .NET? – BillW

+0

en utilisant .Net 3.5 + VSTO – Kumar

+0

Salut Kumar, S'il vous plaît voir ma question sur le forum VSTO 2010 concernant la création de fonctions définies par l'utilisateur en C#: http://social.msdn.microsoft.com/Forums/en-US/officedevelopmentprerelease/thread/ 85edd66b-b778-4836-b706-fae8c4af442c Vous trouverez ici des liens vers les méthodes "standard" précédentes de définition d'une fonction en C# pouvant être utilisée dans une cellule d'une feuille de travail (et elles ne sont pas belles). La question de la surveillance d'une plage de changement est cependant très facile, et beaucoup d'exemples de code sur SO pour cela. – BillW

Répondre

0

Pour déclencher quelque chose en fonction d'un changement de valeur dans une cellule, gérer la Worksheet_Change événement:

Private Sub Worksheet_Change(ByVal Target As Range) 
    'here, check whether Target, a Range, is one of your "trigger" cells, 
    'and if it is, react accordingly 
End Sub 

Pour définir une fonction personnalisée:

Function MyFunction(Argument1, Argument2) 
    'do stuff with your arguments, and set MyFunction equal to the return value 
End Function 

Dans une cellule, vous pouvez alors utiliser la fonction comme = MyFunction("value", 3)

+0

Je ne suis pas familier avec VB contrôlant Excel: C# VSTO vous devez faire un vrai "piratage" pour créer UDF (fonctions définies par l'utilisateur) en C#, et les utiliser sur la feuille de travail. J'ai une question sur le forum bêta de VSTO 2010 à ce sujet: http://social.msdn.microsoft.com/Forums/en-US/officedevelopmentprerelease/thread/85edd66b-b778-4836-b706-fae8c4af442c espéré que ce serait plus simple dans Visual Studio 2010 beta 2, Office 2010 bêta, etc. Pas encore de réponse. Je voudrais savoir dans quel contexte votre exemple de définition d'une fonction et d'appel à une feuille de travail est créé dans: est-ce en utilisant VSTO? – BillW

+0

@BillW Non, désolé, ma réponse a précédé la mise à jour, donc je n'ai pas assemblé le truc VSTO - ma réponse est strictement dans Excel, en utilisant VBA. – Jay

+0

Si vous souhaitez créer des fichiers UDF Excel dans .Net, consultez [ExcelDna] (http://exceldna.codeplex.com). – Govert

Questions connexes