Comment vérifier l'existence d'une table avec un identifiant donné dans un mot doc en C # VSTO 3

StackOverflow https://stackoverflow.com/questions/93506

Question

Je souhaite vérifier l'existence d'une table avec un identifiant donné dans un document Word en C # (VS 2008) pour Visual Studio Tools pour Office (version 3).

Évidemment, je peux parcourir la collection de tables du document et vérifier chaque ID, mais cela semble inefficace; le document finira par avoir quelques dizaines de tables une fois que j'en aurai terminé, et bien que je sache que ce n'est pas beaucoup, parcourir la collection semble bâclé. La collection Tables est uniquement indexée par l'id entier, pas par l'ID de chaîne attribué à la table. Je ne peux donc pas utiliser un index uniquement. Il n'existe aucune méthode Exists apparente pour la collection de documents ou de tables.

J'ai envisagé de convertir la collection Tables en un IQueryable à l'aide de AsQueryable (), mais je ne sais pas comment s'y prendre de manière à pouvoir l'interroger par ID.

Des pointeurs vers la documentation ou un exemple de code seraient appréciées, ou s'il y a une meilleure façon de s'y prendre, je suis tout à fait favorable à cela aussi

Était-ce utile?

La solution

Je ne pense pas qu'il existe un meilleur moyen de le faire. Toute solution incluant IQueryable aurait vraisemblablement besoin d’itérer la collection en interne pour ne pas être plus rapide.

Les performances ne sont de toute façon pas un problème, alors je ne m'inquiéterais pas de l'inefficacité.

Si vous le faites souvent, vous pouvez fournir un wrapper qui itère une fois dans les tables et génère un dictionnaire que vous utilisez par la suite.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top