Newsgroup: it.comp.lang.visual-basic
Titolo: Riferimenti oggetti WORD

Innanzitutto so come si crea un doc e via dicendo... mi serve solo un
consiglio su come farlo...
Mi spiego... Io imposto un oggetto che sia Word.document (vado a memoria).
Questa dichiarazione si rende possibile xche tra i rifermenti io inserisco
anche gli oggetti di Word... Ma facendo così se esporto il mio programma
altrove, non sono sicuro che l'altro pc abbia la stessa versione di word.
Potrebbe avere la + recente o la precedente e potrei trovare difficoltà...
oppure potrebbe aver installato word in una cartella differente alla mia o
con un nome differente e non funzionerebbe + la procedura. (ditemi se
sbaglio)
Come faccio a ovviare a questa cosa? Se faccio una CreateObject dell'oggetto
Word teoricamente mi svincolo dalla versione? (se si come si fa?) Sto usando
tutte opzioni standard quindi almeno tra il word xp e il 2003 non dovrei
avere difficoltà.
Mi dite altrimenti come fare?
Grazie!

Con la createobject ti assicuri di instanziare un componente specifico
richiamando il suo classid, ma non puoi essere sicuro che quel dato 
componente
ci sia.
Comunque al di là del lato tecnico, cose che implicano word il
cui front end deve essere come word, sono impicciose da realizzare.
E' il guaio in cui mi sono trovato anche io. O fai pieno affidamento su word
usi una versione, rilasci un prodotto per quella specifica versione, o 
comunque
differenti release del tuo prodotto una per ogni versione di word che 
intendi
supportare, o altrimenti devi ricorrere a componenti esterni.
Io scelsi la seconda. Sfortuna vuole che esiste un solo componente al mondo
che ti dà un'interfaccia finale come word. Si chiama TX Text control, ma è
uno scempio di componente. Costa 2 mila euro e non vale un piffero.
Supporto tecnico scandaloso, componente tarato come una forma di gruviera.
Intendiamoci se devi fare due stronzate è ottimo, ma poco poco vai su
qualche cosa di complicato, beh mettici la pietra sopra.
CIao
andrea



La risposta è fatta di due parole "Late Binding" il che vuol dire che
tu devi agire nel seguente modo:
nel tuo vbide inserisci i riferimenti a word (quello che hai!)
Ti prepari i programmi nel seguente modo:
Dim myWord as Word.Application
'Dim myWord as Object
'questo per tutti gli oggetti di word che usi/vuoi usare
set myWord = CreateObject("Word.Application")
....
Fai le tue prove, se funziona bene:
- commenti la Dim ... as word
- tiri via il commento dalla dim ... object
- tiri via il riferimento di word
(consegni il programma che non ha più problemi di compatibilità,
naturalmente se sei così fesso da inserire comandi presenti solo
nell'ultimissima versione di word e lo dai a qualcuno che ha una
versione precedente hai fatto una cazzata)
=======================================================================
Se mi vuoi scrivere togli le maiuscole
Sveltolampo 
cteniza...@hotmail.com
=======================================================================


wrote:

Anch'io ho avuto problemi di compatibilità e in effetti il "Late
binding" è la soluzione migliore. In questo modo il tuo exe non
incorpora i GUID (i numerelli a 128 bit usati dal COM per identificare
gli oggetti, che possono variare da una versione all'altra di Word) di
Word al suo interno, ma li va a cercare a run-time nel registro sul PC
dell'utente, quindi va sicuramente a chiamare il Word installato li'.
La cartella in cui è installato Word non è importante perchè tra le
informazioni scritte nel registro c'e' anche il percorso
dell'eseguibile. In alternativa potresti impostare un riferimento alla
versione piu' vecchia su cui il tuo programma deve funzionare (con
Office 97 e 2000 funziona), ma ti andresti a complicare la vita
inutilmente.
Ciao


"Peca's" ha scritto nel messaggio
news:VDzad.35552$N45.1...@twister2.libero.it...

Ciao, Peca's.
    Oltre quanto gia` detto dagli altri prova magari anche a leggere questo:
        OFF2000: File della Guida relativo all'automazione di Microsoft
        Office 2000
 
http://support.microsoft.com/?scid=kb;it;260410
        OFFXP: File della Guida relativo all'automazione di Microsoft
        Office XP
 
http://support.microsoft.com/?scid=kb;it;302460
-- 
Ciao :o)
Maurizio Borrelli, Microsoft MVP - Office Systems - Access
--------
?SPQR(C)
 X
--------