Newsgroup: it.comp.appl.access
Titolo: Sempre su WORD e DOT

 MsgBox myTemplate.Path & Application.PathSeparator & myTemplate.Name
per verificare di un documento WORD il suo DOT (modello) associato...
bene, il tutto funziona però solo se sul proprio PC si ha (salvato
fisicamente) il modetto.dot di riferimento del documento stesso,
altrimenti il sistema risponde con il classico normal.dot.
Es1. LOCALE (OK)
Modello C:\MAURIZIO.dot
Documento C:\DOCUMENTO.doc
con quel sistema il MSG passandogli come documento attivo da
analizzare C:\DOCUMENTO.doc mi risponde che il suo Modello è C:
\MAURIZIO.doc
Es2. REMOTO (OK in parte)
Modello C:\MAURIZIO.dot (sul pc remoto)
Documento C:\DOCUMENTO.doc (sul pc remoto)
con quel sistema il MSG passandogli come documento attivo da
analizzare \\192.168.1.1\C\DOCUMENTO.doc mi risponde che il suo
Modello è \\192.168.1.1\C\MAURIZIO.doc e non "C:\MAURIZIO.dot" come
dovrebbe essere
Es3. REMOTO (NON FUNZIONANTE)
Modello il PC remoto non ha il file C:\MAURIZIO.dot
Documento C:\DOCUMENTO.doc (sul pc remoto)
con quel sistema il MSG passandogli come documento attivo da
analizzare \\192.168.1.1\C\DOCUMENTO.doc mi risponde che il suo
Modello è \\192.168.1.1\C\...document 6 setting/..../normal.dot
anche se poi chiedendo all'utente di verificare che percorso ha in
word strumenti/modelli e aggiunte, il percorso è sempre C:
\MAURIZIO.dot
come devo fare secondo voi per ottenere sempre il percorso giusto del
file DOT appartenente al documento DOC che analizzo?

 MsgBox myTemplate.Path & Application.PathSeparator & myTemplate.Name
per verificare di un documento WORD il suo DOT (modello) associato...
bene, il tutto funziona per� solo se sul proprio PC si ha (salvato
fisicamente) il modetto.dot di riferimento del documento stesso,
altrimenti il sistema risponde con il classico normal.dot.
Es1. LOCALE (OK)
Modello C:\MAURIZIO.dot
Documento C:\DOCUMENTO.doc
con quel sistema il MSG passandogli come documento attivo da
analizzare C:\DOCUMENTO.doc mi risponde che il suo Modello � C:
\MAURIZIO.doc
Es2. REMOTO (OK in parte)
Modello C:\MAURIZIO.dot (sul pc remoto)
Documento C:\DOCUMENTO.doc (sul pc remoto)
con quel sistema il MSG passandogli come documento attivo da
analizzare \\192.168.1.1\C\DOCUMENTO.doc mi risponde che il suo
Modello � \\192.168.1.1\C\MAURIZIO.doc e non "C:\MAURIZIO.dot" come
dovrebbe essere
Es3. REMOTO (NON FUNZIONANTE)
Modello il PC remoto non ha il file C:\MAURIZIO.dot
Documento C:\DOCUMENTO.doc (sul pc remoto)
con quel sistema il MSG passandogli come documento attivo da
analizzare \\192.168.1.1\C\DOCUMENTO.doc mi risponde che il suo
Modello � \\192.168.1.1\C\...document 6 setting/..../normal.dot
anche se poi chiedendo all'utente di verificare che percorso ha in
word strumenti/modelli e aggiunte, il percorso � sempre C:
\MAURIZIO.dot
come devo fare secondo voi per ottenere sempre il percorso giusto del
file DOT appartenente al documento DOC che analizzo?
--------------------------------------
per errore ti ho risposto in privato. Riposto qui.
Non vorrei sbagliare ma il percorso di rete del modello deve essere elencato
insieme agli altri percorsi predefiniti di Word, intendendo per questi
quelli che si possono aggiungere da strumenti, modelli e aggiunte. Questo
per far s� che word trovi il modello.
Inoltre potresti usare:
activedocument.AttachedTemplate.fullname che dovrebbe darti il risultato
atteso a prescindere.
Infatti se word non trova il modello nel o nei percorsi sopradetti, imposta
il modello a normal.dot. Anche in questo caso aprendo strumenti, modelli e
aggiunte, come hai gia detto, troverai scritto il vero nome del modello: lo
stesso che dovresti ottenere con "FullName".
Considera inoltre la possibilit� di indicare un percorso condiviso per i 
template operando sul registro:
nel caso di Office 10:
HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Common\General\SharedTemplates
Ciao, Carlo

 Ciao, Carlo
Carlè lo avevo pensato anche io FullName, e infatti lo avevo
provato... ma nisba... sempre lo stesso...
Ti posto il codice, magari ci trovi qualcosa che non và... io ci sto
perdendo la testa, e magari giusto per questo mi sfogge qualcosa di
semplice...
On Error GoTo err:
' ==================================================
' Dichiarazione variabili
' ==================================================
Dim conta                   As Integer
Dim obj                     As Object
Dim Wrd                     As Object
Dim Doc                     As Object
Dim sCurTemplatePath        As String
' ==================================================
conta = 0
Me.Testo5 = ""
Me.Testo3.RowSource = ".Doc;.Dot" 'la mia LISTVIEW
DoEvents
MyPath = Me.Testo1
myname = Dir(MyPath, vbDirectory)
Do While myname <> ""
    If myname <> "." And myname <> ".." Then
        If Right(myname, 4) = ".doc" Then
            conta = conta + 1
            Set Wrd = CreateObject("Word.Application")
            Set Doc = Wrd.Documents.Open(MyPath & "\" & myname)
            Doc.Activate
            Set curTemplate = Doc.AttachedTemplate
            sCurTemplatePath = curTemplate.FullName
            Set Wrd = Nothing
                Me.Testo3.RowSource = Me.Testo3.RowSource & ";" &
myname & ";" & sCurTemplatePath
                Me.Testo3.Requery
                DoEvents
            Doc.Close
            Set Doc = Nothing
            Set Wrd = Nothing
            'DISTRUGGE l'Handle di Word
            For Each obj In GetObject("winmgmts:").ExecQuery("SELECT *
FROM Win32_Process WHERE Name='WINWORD.exe'")
                obj.Terminate
            Next
        End If
    End If
    myname = Dir
Loop
Me.Testo5 = "Documenti trovati " & conta
MsgBox "Scansione directory effettuata", , "INFORMAZIONE"
Exit Sub
err:
MsgBox err.Number & " - " & err.Description
'DISTRUGGE l'Handle di Word aperto
For Each obj In GetObject("winmgmts:").ExecQuery("SELECT * FROM
Win32_Process WHERE Name='WINWORD.exe'")
    obj.Terminate
Next

 ha scritto
Carl� lo avevo pensato anche io FullName, e infatti lo avevo
provato... ma nisba... sempre lo stesso...
-------------------------------
Soluzione:
application.Dialogs(87).template
Ciao, Carlo 


APPLICATION.DIALOGS non esiste... dialogs � una propriet� che non esiste in 
vba... 

 wrote:
----cut----
Qui controlla "MyPath" contiene quello che ti aspetti?
            Set Doc = Wrd.Documents.Open(MyPath & "\" & myname)
-- 
Ciao
Geppo 


e certo... io ciclo una directory MyPath, e della stessa apro una sessione 
word con il file MyName... per questo problemi non ci sono... il problema � 
recuperarne il modulo associato 

\MAURIZIO.dot
e corretto anche questo, a quanto pare il "doc" all'avvio controlla se il 
"dot" � presente nella stessa directory ; se non lo trova imposta il 
"normal.dot".
Anch'io ho riscontrato in strumenti/modelli e aggiunte il .dot da me 
impostato anche se lo avevo cancellato.
-- 
Ciao
Geppo

 impostato anche se lo avevo cancellato.
Naaaaaaa... non � corretto per niente... forse non hai compreso bene quello 
che voglio... io non ho bisogno che il sistema legga nella directory di 
default dei Modelli e ne associ il proprio... io voglio da VB leggere quanto 
registrato in Strumenti/Modelli indipendetemente se il .dot lo trova o no. 

 lo trova o no.
azz....., ma allora la soluzione di Carlo � quella che ti serve:
Wrd.Dialogs(87).template
-- 
Ciao
Geppo 

 ha scritto nel messaggio 
news:fRmGm.87107$1s6....@twister2.libero.it...

in quale vba?
Controlla in quello di "Word".
-- 
Ciao
Geppo 


si ma io mica sta cosa la devo fare in Word... la devo fare in access... 


certo che � lei, ma se lo dovessi fare in VB o in Word o in Excell... ma io 
lo devo fare in access... 

 io lo devo fare in access...
E certo che lo devi fare da Access...
Hai messo il riferimento alla libreria di Word?
Con questa routine funziona alla grande...e non poteva essere altrimenti:
Public Function DimmiTemplate()
Dim ObjWrd As Word.Application
Dim Doc As Object
Set ObjWrd = CreateObject("Word.Application")
Set Doc = ObjWrd.Documents.Open("c:\1111asdfasdf.doc")
Doc.Activate
MsgBox ObjWrd.Application.Dialogs(87).Template
Doc.Close
Set Doc = Nothing
Set ObjWrd = Nothing
End Function
Ciao, Carlo 

 Ciao, Carlo
ho impressione che a casa ho dei problemucci ucci ucci al pc :D...
questo in ufficio va a casa no... ;)

            Set Wrd = Nothing
-- 
Ciao
Geppo 

 mi viene il dubbio, che tu mi stia prendendo in giro:
SI! :D (no scherzo)... cmq risolto... era il pc specifico che si incartava 
su .Dialogs... cambiando macchina tutto � andato... ;)