Newsgroup: it.comp.appl.access
Titolo: Automazione Word-Access...!

Ho risolto in parte i dubbi relativi al precedente Post
sull'utilizzo dell'AUTOMAZIONE di Word, e grazie alle
indicazioni di Sergio e Diego ho ottimizzato il Merge
tra i due.
Ovviamente non è finito...!
Con le seguenti apro il File *.Doc in sola Lettura o in Modifica
a seconda l'utente ne abbia le autorizzazioni:
  Set appWord = CreateObject("Word.Application")
  Set docWord = appWord.Documents.Open(strfile, ReadOnly:=True)'False
  appWord.Visible = True
  appWord.WindowState = wdWindowStateMaximize
  appWord.ActiveWindow.WindowState = wdWindowStateMaximize
  ..............
  'Disabilita il SALVA se è aperto ReadOnly:=True
  appWord.CommandBars("mnuTARATURE").Controls("Salva").Enabled = False
Come si nota dall'ultima riga disabilito il comando Salva della
mia BarraComandi nel caso sia aperto ReadOnly:=True.
Il problema nasche dal fatto che quando l'utente chiude il DOC
avendo eseguito una Modifica(Salva.Enabled=False) mi viene proposto
il Salvataggio SAVE_AS visto che è ReadOnly:=True.
Ciò mi scoccia parecchio, quindi volevo evitare la cosa.
Pensavo di aprirlo ReadOnly:=False modificare l'abilitazione del
SALVA e salvarlo, ma dovrei modificare la proprietà ReadOnly:=True
con il File aperto, il chè non credo sia possibile.
Alternativa e non sono riuscito è fargli generare un'errore ed
intercettarlo....!!!
Se qualcuno ha altre migliori soluzioni.............!!!!
Grazie.
@Alex.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel messaggio
news:3f4df03edc1569bc79...@mygate.mailgate.org...

Mhmmm... Quello che non capisco è se l'utente lo può (o deve) modificare o
solo vedere sto' documento.
Se vedere e non toccare: Read-Only e al limite disabilita tutti i SAVE(as),
ma quest'ultima (per me) ha poco conto se l'utente (livello S.O.) non ha
privilegi di scrittura.
In caso contrario io farei due vie:
- bottone: "Vedere e non toccare" (tipo anteprima), chiudi;
- bottone: "Apertura in modifica"; qui potrei disabilitare il "Save as" e
lasciare solo il Save.
Però attenzione che molti vincoli inducono in tentazione l'utente a
smanettare che, sempre a parer mio, si deve prendere la responsabilità di
quello che fa.
A te la parola...
Ciao.
--
Sergio MAZZA

 
Come al solito mi sono spiegato malissimo.
In base al Login fatto in Access vengono attribuite le
permission all'utente.
In realtà se l'utente non ha i permissivi alla Modifica
apro il DOC in ANTEPRIMA di STAMPA, ma per disabilitare
i MENU' standard uso un Ciclo sull'oggetto CommandBars
escludendo dall'Enabled=false il Menù personalizzato.
Ho modificato quanto accennato prima così:
   Set appWord = CreateObject("Word.Application")
   Set docWord = appWord.Documents.Open(strfile, ReadOnly:=True)
   appWord.Visible = True
   appWord.WindowState = wdWindowStateMaximize
   appWord.ActiveWindow.WindowState = wdWindowStateMaximize
   appWord.ActiveDocument.PrintPreview
   'appWord.ActiveWindow.ActivePane.View.Zoom.PageFit =
wdPageFitFullPage
   appWord.ActiveWindow.ActivePane.View.Zoom.PageFit = wdPageFitBestFit
 
Dim cmdbar As CommandBar
Dim strName As String
    For Each cmdbar In appWord.CommandBars
    If cmdbar.Name = "mnuTARATURE" Then
        cmdbar.Protection = msoBarNoMove _
                            + msoBarNoChangeDock _
                            + msoBarNoCustomize 'msoBarNoProtection '
        cmdbar.Enabled = True
        cmdbar.Visible = True
    Else
        cmdbar.Enabled = False
    End If
    Next
   appWord.CommandBars("mnuTARATURE").Controls("Salva").Enabled = False
Il problema è che modificando il Documento come accennavo
ed essendo ReadOnly=True alla chiusura mi propone il Prompt
di SAVE_AS che vorrei evitare.
Nel caso di Permissivi alla Modifica non c'è problema la cosa
viene gestita in altro modo, in quanto Ripristino il MailMerge
tra Access e Word solo dopo aver effettuato i cambiamenti.....!
Chissà se mi sono capito.....!
P.S. il codice è parzializzato per semplicità.


 ha scritto nel messaggio
news:815b52e9281beb5bda...@mygate.mailgate.org...

Il problema è che se imposti a ReadOnly = true e poi modifichi si imposta un
flag tipo Dirty = true e viene richiesto il salvataggio del doc. Anche
forzando all'apertura del doc il Dirty = true e poi modifichi... Siamo
tornati al punto di partenza.
Però se deve essere solo visto non puoi utilizzare il wordviewer?
Ciao.
--
Sergio MAZZA
--
Sergio MAZZA


Si, e quì  torniamo al vecchio post relativo al Viewer che ho provato
necessita
di di qualche dll, ma il vero problema è che non installandolo non mi viene
creata
la Classe dell'applicazione e non riesco a gestirne l'AUTOMAZIONE.
Tu mi dirai cosa devi gestire se deve solo essere Visualizzato o
Stampato......??
Mi complicherebbe la vita solo perchè dovrei reimpostare la struttura di
un'altro DB
che è già bella che pronta............!!!!
Ma mi pare di capire che non ci sono molte alternative.....!!!
@Alex.


P.S.
Dimenticavo il Viewer ha un Menů che prevede l'apertura del DOC per
l'EDITAZIONE
e io non VOGLIO che sia possibile, ma per disabilitare il Menů devo sempre
poter
gestire l'Automazione di Viewer che senza Registrarlo nn č pottibile per
Nettuno
figurati per me......!
@Alex.

 @Alex.
Controllo ole non associato? Già provato? Non è che mi piaccia molto come
soluzione, specie se trattasi di documenti da leggere...
Ciao.
--
Sergio MAZZA


Ho ri-dato uno sguardo al codice e visto che è solo una parte della routine
volevo sapere se hai già utilizzato il metodo Protect dell'oggetto Document.
Se hai la possibilità di inserire delle macro nel documento un'altra
soluzione potrebbe essere quella di intercettare la chiusura e/o l'uscita da
Word; inserisci un modulo e ci scrivi:
Sub AutoClose()
    If ActiveDocument.Saved = False Then ActiveDocument.Saved = True
End Sub
Sub AutoExit()
    If ActiveDocument.Saved = False Then ActiveDocument.Saved = True
End Sub
Ciao.
--
Sergio MAZZA

 Sergio MAZZA
Già provato, ma il DOC è multipagina e non riesco a gestire
lo Scroll del DOC(OLE)....!


 
Ora per questo faccio qualche prova, ho già nel DOT del Codice
che ovviamente viene ereditato dal DOC, quindi nessun problema
ad aggiungerne altro.....!
Ti faccio sapere.



Resto in attesa...
Ciao.
--
Sergio MAZZA

 > Ti faccio sapere.
Funziona e bene.....!
Direi che con questo ho risolto buona parte dei problemi...!
Molte grazie, sono debitore di almeno un piatto di Tortelli di Zucca.


 @Alex.
Ciao.
--
Sergio MAZZA