Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [vb.net] leggere file word

    Salve Ragazzi.
    Vorrei sviluppare una funzione che apre un file word (.doc o docx) e ne stampa dentro una textbox multiline.
    Leggendo tra varie guide in internet ho trovato molta confusione!
    A partire dagli import dei namespace di office, a finire sull'oggetto word.application() che me lo segna sempre come ambiguo.
    Metodi per la lettura delle sngole righe?
    Perchè non trovo nulla? Dove sbaglio a cercare? Mi potete spiegare meglio la situazione?

    Grazie per l'eventuale l'aiuto!

    Cordiali saluti

  2. #2
    Prova con questo codice. A me funziona. Devi solamente aggiungere la libreria di word nei Riferimenti.

    <code>
    Public Sub getDocument(nomefile As String)
    Dim wrd As Word.Application

    Set wrd = New Word.Application
    With wrd
    .Documents.Open(nomefile).Activate
    With .Selection
    .WholeStory
    .Copy
    End With
    .Quit
    End With
    Set wrd = Nothing

    txt.Text = Clipboard.GetText

    End Sub

    </code>

  3. #3
    Innanzitutto grazie per l'aiuto!
    Ma il problema continua a ripetersi.

    <code>
    Dim wrd As Word.Application
    </code>

    ho importato le librerie:

    Imports Microsoft.Office.Core
    Imports Microsoft.Office.Interop

    inoltre ho importato i riferimenti COM di office (12.0)

    Visual Basic mi da errore << 'Application' è ambiguo nello spazio dei nomi 'Microsoft.Office.Interop.Word' >>
    :-( qualche idea?

  4. #4
    Ciao,

    Ho riprovato con la fuction che ti avevo suggerito...Funziona...
    Nei riferimenti io ho aggiunto la seguente voce: "Microsoft Word 11.0 Object Library".
    Richiamati la funzione in qualche evento passandogli il path e nome file e dovrebbe andare...
    Fammi sapere...

  5. #5
    summerjam grazie mille!!!
    Sbagliavo a importare i riferimenti! Non avevo visto che c'era quello specifico di word e importavo uno di office in generale!

    Il programma si esegue tranquillamente, ma mi dava eccezione quando arriva a questa riga di codice:
    <code>
    Documents.Open(nomefile).Activate
    </code>

    Da qui ho eliminato la chiamata alla funzione Activate e funziona perfettamente!


    Ma se io, adesso, volessi salvare il contenuto che ho letto in un altro file senza alterarne la formattazione del testo ma con l'aggiunta di una stringa, secondo voi funziona con la funzione "FileOpen", oppure con lo "streamWriter" ?

  6. #6
    In quale file vuoi scrivere? .doc .txt???
    Cmq per scrivere in un altro file vanno bene entrambi i metodi da te citati...

  7. #7
    In un altro file DOC, riuscendo a mantenere la stessa formattazione.
    Per esempio con la tua funzione già ho problemi se aumento la grandezza del testo o lo sottolineo.
    Ma non esiste una documentazione fatta per benino? Quelle che ho trovato facevano compassione.

  8. #8
    Non penso che esista qualcosa del genere, ma non ne sono certo.
    Comunque è logico che se aumenti le dimensioni o cambi carattere, la formattazione cambia...
    Se mi fai capire quello che stai cercando di fare posso darti suggerimenti...
    Alla prossima...

  9. #9
    Dunque, in pratica dovrei fare un software che prende in input un file in word, lo legge, e sostituisce delle stringhe. Quando ha finito, deve salvare il file sempre in word, mantenendo la stessa formattazione, impaginazione, scrittura, ecc ecc... solo con le stringhe cambiate!

    Credi sia fattibile?

    Mille grazie per l'aiuto che mi dai.

  10. #10
    Allora in questo caso ti conviene direttamente leggere il file in word cercando le stringhe che ti interessano e fare un replace in modo da sostituire con quelle che vuoi tu.
    Se il file word che leggi in input non deve essere modificato rispetto al file di output che andrai a modificare, allora copiati il file in word all'inizio e lavora sulla copia.
    Se lavori direttamente all'interno del file word senza importarti il contenuto in una texbox, non cambierà la formattazione, quindi non avrai più problemi.
    Spero di esserti stato chiaro...
    Alla prossima...Ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.