Newsgroup: it.comp.lang.visual-basic
Titolo: Lettura file doc di Word

Devo fare da vb, il merge di 2 file doc in un nuovo file.
Mi sapete aiutare ?

Beh la prima cosa che devi fare è sicuramente avere le librerie,
quindi office installati sulla macchina.
Referenzi le opportune librerie e poi inizi a giocare con metodi
e proprietà.
Di + non posso dirti perchè non l'ho mai fatto.
Ciao Andrea


Se per merge intendi appendere il testo del doc2 in coda al doc1, puoi anche
provare questa soluzione che non richiede l'accesso alle librerie di word
ecc...: salva i due documenti in formato .rtf (formato che Word apre e
chiude tranquillamente senza grossi casini nella formattazione di tabelle,
immagini o quant'altro), quindi fai un programmino (magari in VB) che fa
l'append "fisico" dei due file creando il documento accodato.
Al limite prova l'istruzione dos
C:\> Copy doc1.rtf + doc2.rtf merged.rtf
Non l'ho mai provato ma dovrebbe funzionare... sono riuscito a fare cose ben
peggiori per mixare due file di word senza agire sulle librerie... se non ti
funziona ti dico un'altra strada un po' più lunga...
Ciao,
Välërïö
(uso le dieresi perché ho visto che c'ho un omonimo...)

 ha scritto nel messaggio
news:V6k18.953$7m1....@twister1.libero.it...


 Mi dici la 2 soluzione ?
La strada che funziona è questa (detto per inciso sfrutta sempre il formato
.rtf)
Crei un file di Word (chiamiamolo doc1.rtf) . Ad un certo punto inserisci
una certa parola chiave ad esempio: "_MIX_" in un punto qualunque del testo
(anche in mezzo, ma meglio se su una riga da sola).
Poi crei il secondo file (es. doc2.rtf).
Con la routine che ti indico hai la possibilità di inserire tutto il
documento2 (con tutte le sue formattazioni, colori, ecc...) nel punto esatto
in cui hai inserito la parola _MIX_ nel primo documento.
Viene creato il file mixed.rtf che è il risultato.
Tengo a precisare che quello che ti riporto è solo un ESEMPIO, ASSOLUTAMENTE
NON OTTIMIZZATO IN TERMINI DI VELOCITA' E DI OCCUPAZIONE DI MEMORIA (sfrutta
troppo in modo intensivo le stringhe, mentre sarebbe possibile lavorare
direttamente sui file aperti utilizzando solo piccole stringhe di
appoggio... ripeto è solo un esempio...)
E poi comunque non conosco per niente ASP, quindi per il resto vedi tu...
Ciao!!
Välërïö
Private Sub Command1_Click()
  'Inserisce il testo del file di Word doc2.rtf all'interno
  'del file doc1.rtf nel punto specificato dalla parola
  'chiave "_MIX_" (quindi il doc1.rtf deve avere un punto
  'al suo interno in cui è presente questa parola!)
  Dim lin As String
  Dim file1 As String
  Dim file2 As String
  Dim before As String
  Dim after As String
  Dim ps As Long
  Const keyword = "_MIX_"
  'Carica tutto il secondo file
  file2 = ""
  Open "C:\doc2.rtf" For Input As #2
    While Not EOF(2)
      Line Input #2, lin
      file2 = file2 & lin
    Wend
  Close #2
  'Carica tutto il primo file ma si accorge
  'della presenza della keyword:
  'al posto di essa ci mette tutto il file caricato prima
  file1 = ""
  Open "C:\doc1.rtf" For Input As #1
    While Not EOF(1)
      Line Input #1, lin
      ps = InStr(lin, keyword)
      If ps > 0 Then
        before = Left$(lin, ps - 1)
        after = Mid$(lin, ps + Len(keyword))
        lin = before & file2 & after
      End If
      file1 = file1 & lin
    Wend
  Close #1
  'Salva il file mixato
  Open "C:\mixed.rtf" For Output As #1
    Print #1, file1
  Close #1
End Sub