Lettura di un documento WORD

sabato 10 aprile 2010 - 13.56

artista Profilo | Newbie

Ciao a tutti, cercherò di essere breve e preciso.
Dovendo lavorare con un documento WORD, ho fatto una ricerca su Internet che mi ha portato alla conoscenza del Nampespace:
Imports Microsoft.Office.Interop.Word
che appunto mi consenstirebbe di manipolare i documenti WORD.
utilizzando il framework 2.0 e visual studio 2008, senza fare installazioni di nessun tipo ho importato il namespace nel progetto e riesco ad aprire il mio documento da cui leggere i dati, con le istruzioni:
Dim word_server As Word.Application
Dim myDoc As Microsoft.Office.Interop.Word.Document = Nothing
Try
word_server = CreateObject("Word.Application")
myDoc = word_server.Documents.Open(System.Windows.Forms.Application.StartupPath & "\temp.doc")

Da queso punto utilizzando l'oggetto myDoc, mi perdo un pò.
Il documento è simile ad una Form dove l'utente può inserire il testo solo in determianti punti . Il documenteo è pieno di Tabelle, di caselle di tipo CheckBox ed in più è protetto, cioè l'istruzione:WholeStory() genera errore.

La mia idea è stata quindi quella di scorrere tutte le tabelle e per ogni tabella scorrere tutte le celle per ogni cella recuperarne il valore.
In parte ci riesco con il blocco di codice:
Dim testo As String = ""
Dim myTable As Word.Table

For Each myTable In myDoc.Tables
Dim t As String = myTable.Cell(0, 0).Range.Text
If t.IndexOf("Comune") <> -1 Then
Dim t2 As String = myTable.Cell(1, 2).Range.Text
ListView.Items.Add("Comune:" & t2)
End If
Next
Da come si vede per capire in quale cella sono entrato leggo la cella di coordinate '0,0' perchè essendo il documento un modello protetto presenta sempre a quella coordinate quel valore, quindi IF valore=Comune allora leggo il valore della cella successiva che conterrà il testo inserito manualmente.
Andrebbe anche bene ma ho tre problemi:
1.Non riesco ad arrivare alle tabelle contenute in altre tabelle
2.Non mi piace questo sistema cos'ì rigido per capire se mitrovo nella cella voluta
3.Ci sono degli elementi di tipo checkbox che possone essere selezionati e in tal caso vorrei leggere il valore corrispondente

..ho detto che provavo ad essere breve,no che ci riuscivo ;-)
Su interente documentazione tanta, ma sembra che nessuna abbia avuto l'esigenza di scorrere tutti gli elementi presenti in un documento Word e per ognuno di essi prenderne il testo...

Grazie in anticipo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5