Il fatto e' che io non ho capito se, sul tuo pc, il famigerato foglio excel quando riapri il file c' e' ed e' accessibile o non c' e' oppure non e' accessibile...
Ti avevo suggerito di controllare lo stato del collegamento subito dopo aver creato il foglio embedded perche' (sempre in 2003) vedo un checkbox "salva immagine nel documento": non vorrei che nel tuo caso sia spuntato, per cui il foglio dovrebbe in realta' sparire.
Per quanto riguarda l' uso di una super macro, direi che se manualmente non riesci ci sono ottime possibilita' che fallisca anche una macro.
Comunque proviamo lo stesso, sempre lavorando su WD2003:
-vai nella posizione in cui vorresti inserire il valore da worksheet e crea una tabella con 2 celle sulla stessa riga
-usa la prima cella per inserirci la descrizione relativa alla voce che preleveremo dal worksheet e inseriremo nella seconda cella
-in questa stessa prima cella inserisci un "segnalibro" (io l' ho chiamato "pippo"): servira' per selezionare da macro con certezza in quella cella.
-assumiamo che il doc abbia 1 solo embedded object
-poi prova a usare una macro come la seguente:
- Codice: Seleziona tutto
Sub EmbWs()
'Application.ScreenUpdating = False
ActiveDocument.InlineShapes(1).OLEFormat.DoVerb wdOLEVerbShow 'NOTA-1
TotExp = ActiveDocument.InlineShapes(1).OLEFormat.Object.Application. _
Workbooks(1).Worksheets(1).Range("D6").Value
SendKeys "{ESC}", True 'NOTA-2
Selection.GoTo What:=wdGoToBookmark, Name:="pippo"
' Selection.GoTo What:=wdGoToTable, Which:=wdGoabsolute, Count:=1, Name:="" 'NOTA-3
Selection.MoveRight Unit:=wdCell
Selection.TypeText TotExp
End Sub
Nota-1: questa istruzione potrebbe non servire, se fossimo certi che excel sia gia' attivo
Nota-2: La SendKeys "{ESC}", True serve per chiudere la sessione excel; non sono particolarmente soddisfatto, ma non ho trovato un comando complementare al OLEFormat.DoVerb wdOLEVerbShow
Nota-3: questa istruzione da usare se invece del bookmark si volesse indirizzare la tabella; preferisco il bookmark, e' piu' certo.
Il tutto e' prototipato sul file allegato:
http://rapidshare.com/files/442440997/P ... n-2222.doc(testato ok su 2003, ko su 2002)
Fai doppioclick sull' area del foglio excel (area gialla); si aprira' il foglio excel; modifica qualcosa nella colonna Qt o Each, per ricalcolare un totale.
Sul mio pc, appena il totale cambia (in cella D6) viene anche aggiornato sul foglio word (il campo in giallo); purche' abbia risposto "SI" alla domanda iniziale di "aggiornare i collegamenti" . Non viene invece aggiornato il dato in tabella perche' non linkato al worksheet ma gestito dalla macro.
Quando hai finito premi il bottone, che eseguira' la suddetta macro.
Sul mio pc questo comprende la chiusura del worksheet (non dell' applicazione excel) e la copia nella tabella del dato "Totale" prelevato dal worksheet; ma puo' essere usato anche con il doc attivo, ad esempio per ripristinare la cella in qualsiasi momento.
Con un minimo di fantasia si potra' dividere la macro in due, da azionare con due diversi pulsanti (o uno in configurazione flip/flop): la prima apre la sessione excel, la seconda chiude la sessione e aggiorna il doc.
Spero che il tutto sia di qualche utilita'.
Ciao