Newsgroup: it.comp.lang.visual-basic
Titolo: [?] Caricare un file word in memoria in sola lettura ?

Dovrei Leggere i bookmark da un doc Word , Tutto ok se non fosse che : se il
file e' aperto da una applicaizone mi si apre word chiedendomi se voglio
aprirlo in sola lettura , invece tutta l'operazione dovrebbe essere
trasparente all'utente, in pratica si sceglie un file doc, si clicca su un
bottone "Leggi BookMark" e vengono memorizzati in una list :(
non esiste un comando "SICURO" che mi carichi solo il file in memoria senza
rischio che si apra la finestrella di word "Apri in sola lettura" ?
in pratica : come faccio ad aprirlo sempre in sola lettura ?
<Pseudo>
Word.Application.Documents.Add(Template,NewTemplate,DocumentType,visble)
non riesco a trovare documentazione a riguardo ma so che questo documentType
qui sopra centra qualcosa ! :-/

 in pratica : come faccio ad aprirlo sempre in sola lettura ?
Documents.Open FileName:="C:\MyFiles\MyDoc.doc", ReadOnly:=True
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Documents.Open FileName:="C:\MyFiles\MyDoc.doc", ReadOnly:=True
 Set myWdDoc = myWd.Documents.Open(VB.App.Path & "\doc\" & Text1.Text, ,
True, , , , , , , , , False)
si lo apre in sola lettura invisibile ma mi apre Word :-/
A me serve che :
Carico il file da vb
 A VISTA non deve accadere nulla (nessun messaggio di conferma, nessun Word
che compare ecc... )
leggo i bookmark
scarico il file e word dalla memoria
Codice :
   Static myWd As Word.Application
     Static myWdDoc As Word.Document
     Set myWd = New Word.Application
     myWd.Visible = False
    '      la riga seguente funziona ( a vista non accade nulla ) solo se il
file non e' gia' aperto , altrimenti compare sia word che la finestrella di
conferma apri in sola lettura !
    Set myWdDoc = myWd.Documents.Add(VB.App.Path & "\doc\" & Text1.Text)
'Questa invece visualizza sempre e cmq sia Word che la finestra di conferma
:(
' Set myWdDoc = myWd.Documents.Open(VB.App.Path & "\doc\" & Text1.Text, ,
True, , , , , , , , , False)
      List1.Clear
        For i = 1 To myWd.ActiveDocument.Bookmarks.Count
               Load lblBM(i)
               lblBM(i).Caption =
Str(lblmyWd.ActiveDocument.Bookmarks(i).Name)
                txtBM(i).Text =
Str(lblmyWd.ActiveDocument.Bookmarks(i).Name)
               Load txtBM(i)
               lblBM(i).Visible = True
               txtBM(i).Visible = True
               lblBM(i).Top = lblBM(i - 1).Top + 500
               txtBM(i).Top = txtBM(i - 1).Top + 500
        Next i
     Set myWdDoc = Nothing
     Set myWd = Nothing

 ha scritto nel
messaggio news:b1tnj3$16vmgu$1...@ID-174485.news.dfncis.de...
AGGIUNTA :
azz col codice sotto riportato mi rimane un istanza di "WINWORD.exe" aperta
, le variabili le setto a nothing ma non killa il processo :(
anche con document.close


 anche con document.close
Ho trovato Qquesto:
l'insieme Documents viene enumerato per determinare se il documento
denominato "Report.doc" è aperto. Se questo documento è contenuto
nell'insieme Documents, viene attivato. In caso contrario, viene aperto.
For Each doc In Documents
    If doc.Name = "Report.doc" Then found = True
Next doc
If found <> True Then 
    Documents.Open FileName:="C:\Documents\Report.doc"
Else
    Documents("Report.doc").Activate
End If
Invece per la Chiusura corretta:
For i = 1 To ole1.Selection.Bookmarks.Count
 Debug.Print ole1.Selection.Bookmarks(i).Name
Next i
'Con queste righe chiudi Word e l'isatnza
ole1.ActiveDocument.Close
ole1.Quit
Prova.
Ciao:-)


 'Con queste righe chiudi Word e l'isatnza
 -------->   .Quit   <---------------
perfetto infatti non trovavo il classico Close e allora sono andato in giro
per gugle ... mi sto cecando !
Bastardissimo di un oggetto un .close non era + semplice ? grrrrrrr
Grazie ancora infinitamente Fabio