Lire un document word (*.doc) contenu avec des tables, etc
J'ai un document word (2003). Je suis à l'aide de Powershell pour analyser le contenu du document.
Le document contient quelques lignes de texte en haut, une douzaine de tables avec un nombre différent de colonnes et puis un peu plus de texte.
- Je m'attendre à être en mesure de lire le document en tant que quelque chose comme ci-dessous:
- Lire le document (faire des objets nécessaires, etc)
- Obtenir chaque ligne de texte
- Si pas partie d'un tableau, processus de texte et Écriture-Sortie
- d'autre
- Si une partie d'un tableau
- Obtenir le numéro de table (par ordre) et analyse la sortie basés sur des colonnes
- fin si
Ci-dessous le script powershell que j'ai commencé à écrire:
$objWord = New-Object -Com Word.Application
$objWord.Visible = $false
$objDocument = $objWord.Documents.Open($filename)
$paras = $objDocument.Paragraphs
foreach ($para in $paras)
{
Write-Output $para.Range.Text
}
Je ne suis pas sûr si les Paragraphes est ce que je veux. Est-il rien de plus approprié pour mon objectif?
Tout ce que je suis maintenant est l'ensemble du contenu du document. Comment puis-je contrôler ce que je reçois. Comme je veux obtenir une ligne, être en mesure de déterminer si elle est une partie d'un tableau ou pas et de prendre une action fondée sur ce que le numéro de la table est à.
Assurez-vous - merci pour votre réponse... j'ai Donc ce document word qui contient un peu de texte et d'environ 5 ou 6 tables. Chaque table dispose d'un nombre variable de colonnes de 2 à 6. La première ligne de chaque tableau décrit l'en-tête. Ce que je suis en train d'accomplir est (à l'aide de Powershell) pour lire le document, d'analyser le contenu des tableaux et de la sortie de sql qui peut être exécuté séparément sur une base de données Oracle. Maintenant, j'ai de nombreux documents et chacun d'eux est similaire dans sa structure. Mais chacun peut avoir plus ou moins de lignes dans les tables.
OriginalL'auteur Anoop | 2012-10-27
Vous devez vous connecter pour publier un commentaire.
Vous pouvez énumérer les tableaux dans un document Word via le
Tables
collection. LeLignes
etColonnes
propriétés vous permettra de déterminer le nombre de lignes/colonnes dans une table donnée. Cellules individuelles peuvent être accessibles via leCellule
objet.Exemple qui imprime la valeur de la cellule de la dernière ligne et la dernière colonne de chaque tableau dans le document:
Pas sûr si j'ai bien compris la question. Le
Tables
collection a tous les tableaux du document et rien d'autre. Lorsque vous accédez à un objet de cette collection, cet objet est un tableau.hmm je crois que je comprends maintenant ce que vous avez dit. J'ai essayé de lire tous les textes dans un ordre séquentiel, peu importe si c'est une table ou pas - et si c'est une table, alors je voulais appeler la table de la logique. Mais j'ai pas besoin de le faire de cette façon. En utilisant les tables de la collection semble plus propre. Je vous remercie beaucoup.
Pour l'enregistrement, afin de déterminer si vous êtes dans une table, utilisez la fonction booléenne "de Sélection.De l'Information(wdWithInTable)". (6 ans de retard)
OriginalL'auteur Ansgar Wiechers