Come verificare l'esistenza di una tabella con un determinato ID in un documento word in C# VSTO 3

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

Domanda

Voglio verificare l'esistenza di una tabella con un determinato ID in un documento Word in C# (VS 2008) Visual Studio Tools per Office (versione 3).

Ovviamente posso scorrere la raccolta Tables del documento e controllare ogni ID, ma questo sembra inefficiente;il documento finirà per avere qualche dozzina di tabelle dopo che avrò finito e, anche se so che non è molto, scorrere la raccolta sembra sciatto.La raccolta Tables è indicizzata solo in base all'ID intero, non all'ID stringa assegnato alla tabella, quindi non posso semplicemente utilizzare un indice e non esiste un metodo Exists evidente del documento o della raccolta di tabelle.

Ho pensato di trasmettere la raccolta Tables a un IQueryable utilizzando AsQueryable(), ma non so come procedere in modo tale da poterlo interrogare tramite ID.

Sarebbero apprezzati suggerimenti a documenti o codice di esempio o, se esiste un modo migliore per farlo, sono d'accordo anche io

È stato utile?

Soluzione

Non penso che ci sia un modo migliore per farlo.Qualsiasi soluzione che includa IQueryable dovrebbe presumibilmente iterare la raccolta internamente, quindi non sarebbe più veloce.

In ogni caso è improbabile che le prestazioni costituiscano un problema, quindi non mi preoccuperei dell'inefficienza.

Se lo fai spesso, potresti fornire un wrapper che scorre una volta le tabelle e genera un dizionario che utilizzerai successivamente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top