Discussione:
Apertura file di word con stampa unione
(troppo vecchio per rispondere)
Rick - Pipino
2004-10-06 08:54:00 UTC
Permalink
Prima di tutto mi presento: sono un newbye della peggior specie, però
conosco le regole del niubbo quindi sono alcuni giorni che leggo, ho
consultato il sito comune come fosse la bibbia ma ... continuo ad essere un
newbye di access e ogni cosa è difficile.
Il mio problema credo sia veramente banale, ma leggendo i vecchi messaggi su
google NON riesco a capire come fare questa semplice (!?!) cosa:

Il problema: ho fatto una stampa unione collegando i campi della mia tabella
al mio file di word.
La mia maschera ha il suo bravo pulsante che mi apre word (autocostruito con
la creazione guidata di access) ma come faccio a fargli aprire direttamente
il file che voglio io (quello con la stampa unione già bella costruita) ?
Roberto dalla campagna
2004-10-06 10:08:15 UTC
Permalink
Post by Rick - Pipino
Prima di tutto mi presento: sono un newbye della peggior specie, però
conosco le regole del niubbo quindi sono alcuni giorni che leggo, ho
consultato il sito comune come fosse la bibbia ma ... continuo ad essere un
newbye di access e ogni cosa è difficile.
Il mio problema credo sia veramente banale, ma leggendo i vecchi messaggi su
Il problema: ho fatto una stampa unione collegando i campi della mia tabella
al mio file di word.
La mia maschera ha il suo bravo pulsante che mi apre word (autocostruito con
la creazione guidata di access) ma come faccio a fargli aprire
direttamente
Post by Rick - Pipino
il file che voglio io (quello con la stampa unione già bella costruita) ?
Riporto qui di seguito la risposta che Sergio MAZZA dette ad un quesito
simile al tuo il lontano 6 ottobre 2000 alle ore 16:23

========================
Questo è un esempio di codice per aprire un documento word e stampare il
contenuto:

'--------------------
Sub ApriWordperStampare()
Dim oApp As Word.Application
Set oApp = CreateObject("Word.Application")
'apro il documento
oApp.Application.Documents.Open "d:\documenti\NomedelDocumento.doc"
'se voglio vedere word
oApp.Visible = True
'la prossima riga stampa tutte le pagine
oApp.ActiveDocument.PrintOut
'chiudo word
oApp.Quit
Set oApp = Nothing
End Sub
'--------------------

Dovresti prima inserire i riferimenti alla libreria "Microsoft Word".

Se colleghi il documento ad una query che ti esegue già la selezione dei
dati e poi esegui il mailmerge non dovresti avere problemi. Il problema ti
si presenta se devi stampare un report tipo fattura; con word è un'ammazzata
e non so' se ne vale la pena.
Al contrario se hai solo "lettere"...

Ciao.
=======================================

In pratica, se tu hai già creato con Word un documento di stampa unione
collegata ad una tabella del tuo database, quello suggerito da Sergio MAZZA
è il codice VBA da eseguire per aprire il documento e per poi eseguire la
stampa unione.
Naturalmente al posto di "d:\documenti\NomedelDocumento.doc" indicherai il
path completo del tuo documento di stampa unione.
--
Roberto

---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------
Rick - Pipino
2004-10-06 10:39:53 UTC
Permalink
Post by Rick - Pipino
Post by Rick - Pipino
Prima di tutto mi presento: sono un newbye della peggior specie, però
conosco le regole del niubbo quindi sono alcuni giorni che leggo, ho
consultato il sito comune come fosse la bibbia ma ... continuo ad essere
un
Post by Rick - Pipino
newbye di access e ogni cosa è difficile.
Il mio problema credo sia veramente banale, ma leggendo i vecchi
messaggi
Post by Rick - Pipino
su
Post by Rick - Pipino
Il problema: ho fatto una stampa unione collegando i campi della mia
tabella
Post by Rick - Pipino
al mio file di word.
La mia maschera ha il suo bravo pulsante che mi apre word (autocostruito
con
Post by Rick - Pipino
la creazione guidata di access) ma come faccio a fargli aprire
direttamente
Post by Rick - Pipino
il file che voglio io (quello con la stampa unione già bella costruita) ?
Riporto qui di seguito la risposta che Sergio MAZZA dette ad un quesito
simile al tuo il lontano 6 ottobre 2000 alle ore 16:23
========================
Questo è un esempio di codice per aprire un documento word e stampare il
'--------------------
Sub ApriWordperStampare()
Dim oApp As Word.Application
Set oApp = CreateObject("Word.Application")
'apro il documento
oApp.Application.Documents.Open "d:\documenti\NomedelDocumento.doc"
'se voglio vedere word
oApp.Visible = True
'la prossima riga stampa tutte le pagine
oApp.ActiveDocument.PrintOut
'chiudo word
oApp.Quit
Set oApp = Nothing
End Sub
'--------------------
Dovresti prima inserire i riferimenti alla libreria "Microsoft Word".
Se colleghi il documento ad una query che ti esegue già la selezione dei
dati e poi esegui il mailmerge non dovresti avere problemi. Il problema ti
si presenta se devi stampare un report tipo fattura; con word è un'ammazzata
e non so' se ne vale la pena.
Al contrario se hai solo "lettere"...
Ciao.
=======================================
In pratica, se tu hai già creato con Word un documento di stampa unione
collegata ad una tabella del tuo database, quello suggerito da Sergio MAZZA
è il codice VBA da eseguire per aprire il documento e per poi eseguire la
stampa unione.
Naturalmente al posto di "d:\documenti\NomedelDocumento.doc" indicherai il
path completo del tuo documento di stampa unione.
--
Roberto
Ho provato, mi funziona l'apertura del file ma solo se tolgo la parte di
stampa.
Invece se lascio il printout fa effettivamente la stampa ma non esercita la
stampa unione, in pratica mi stampa i codici dei campi e non il contenuto.

C'e' una cosa peggiore: l'apertura del file la fa con tutte le barre degli
strumenti di word attivate e (quel che è peggio) la barra degli strumenti
con i cursori per scorrere i record è disattivata.

Prima del tuo reply ho fatto altre prove con sistemi diversi sempre tratti
da google, e il problema è sempre lo stesso: come faccio a puntare il record
corrente ?
Nelle mie prove Word punta sempre (anche con il codice che hai citato tu)
all'ultimo record.

Riccardo
Sergio MAZZA
2004-10-06 12:20:28 UTC
Permalink
Post by Rick - Pipino
Ho provato, mi funziona l'apertura del file ma solo se tolgo la parte
di stampa.
Invece se lascio il printout fa effettivamente la stampa ma non
esercita la stampa unione, in pratica mi stampa i codici dei campi e
non il contenuto.
C'e' una cosa peggiore: l'apertura del file la fa con tutte le barre
degli strumenti di word attivate e (quel che è peggio) la barra degli
strumenti con i cursori per scorrere i record è disattivata.
Prima del tuo reply ho fatto altre prove con sistemi diversi sempre
tratti da google, e il problema è sempre lo stesso: come faccio a
puntare il record corrente ?
Nelle mie prove Word punta sempre (anche con il codice che hai citato
tu) all'ultimo record.
Riccardo
Nel suggerimento indicato da Roberto, Sergio MAZZA scriveva: "...Se colleghi il documento ad una query che ti esegue già la
selezione dei dati e poi esegui il mailmerge non dovresti avere problemi."
Questo è il primo passaggio da effettuare; il secondo è eseguire la stampa unione da codice, quindi riassumendo la routine di
esempio diventa:
es.

Sub ApriWordperMailmerge()
Dim oApp As Word.Application

Set oApp = CreateObject("Word.Application")
oApp.Documents.Open "c:\nomeFile.doc"

With oApp.ActiveDocument.MailMerge
.Destination = wdSendToNewDocument '<-- crea nuovi documenti
.Execute '<-- esegue il mailmerge
End With

oApp.Visible = True
Set oApp = Nothing
End Sub

Ciao.
--
Sergio MAZZA
Rick - Pipino
2004-10-06 13:06:21 UTC
Permalink
Post by Sergio MAZZA
Post by Rick - Pipino
Ho provato, mi funziona l'apertura del file ma solo se tolgo la parte
di stampa.
Invece se lascio il printout fa effettivamente la stampa ma non
esercita la stampa unione, in pratica mi stampa i codici dei campi e
non il contenuto.
C'e' una cosa peggiore: l'apertura del file la fa con tutte le barre
degli strumenti di word attivate e (quel che è peggio) la barra degli
strumenti con i cursori per scorrere i record è disattivata.
Prima del tuo reply ho fatto altre prove con sistemi diversi sempre
tratti da google, e il problema è sempre lo stesso: come faccio a
puntare il record corrente ?
Nelle mie prove Word punta sempre (anche con il codice che hai citato
tu) all'ultimo record.
Riccardo
Nel suggerimento indicato da Roberto, Sergio MAZZA scriveva: "...Se
colleghi il documento ad una query che ti esegue già la
Post by Sergio MAZZA
selezione dei dati e poi esegui il mailmerge non dovresti avere problemi."
Questo è il primo passaggio da effettuare; il secondo è eseguire la stampa
unione da codice, quindi riassumendo la routine di
Post by Sergio MAZZA
es.
Sub ApriWordperMailmerge()
Dim oApp As Word.Application
Set oApp = CreateObject("Word.Application")
oApp.Documents.Open "c:\nomeFile.doc"
With oApp.ActiveDocument.MailMerge
.Destination = wdSendToNewDocument '<-- crea nuovi documenti
.Execute '<-- esegue il mailmerge
End With
oApp.Visible = True
Set oApp = Nothing
End Sub
Ciao.
Non ci riesco ... sono troppo indietro con Access.
Sono quasi 5 ore che ci provo spulciando e provando ovunque con google ma
non ci riesco.
In realtà mi mancano troppe "basi".

In verità io non capisco fino in fondo cosa significo "Se colleghi il
documento ad una query che ti esegue già la selezione dei dati e poi esegui
il mailmerge non dovresti avere problemi"
Nel senso che io la query l'ho fatta ma il collegamento del documento alla
query non riesco a farlo.

E quello che Sergio m'ha appena scritto non riesco a farlo funzionare.

Adesso studio ancora un po' :-)
Grazie comunque ragazzi, appena sarò in grado almeno di mettere in grado i
vostri consigli tornerò a far domande (e sarà presto, spero)

Riccardo
Sergio MAZZA
2004-10-06 13:24:30 UTC
Permalink
Post by Rick - Pipino
Non ci riesco ... sono troppo indietro con Access.
Sono quasi 5 ore che ci provo spulciando e provando ovunque con
google ma non ci riesco.
In realtà mi mancano troppe "basi".
In verità io non capisco fino in fondo cosa significo "Se colleghi il
documento ad una query che ti esegue già la selezione dei dati e poi
esegui il mailmerge non dovresti avere problemi"
Nel senso che io la query l'ho fatta ma il collegamento del documento
alla query non riesco a farlo.
E quello che Sergio m'ha appena scritto non riesco a farlo funzionare.
Adesso studio ancora un po' :-)
Grazie comunque ragazzi, appena sarò in grado almeno di mettere in
grado i vostri consigli tornerò a far domande (e sarà presto, spero)
Riccardo
Ipotizzando che la query la devi filtrare per un campo ID che viene (non necessariamente) visualizzato sulla form in una casella di
testo chiamata ID. Nella query, nella riga "criteri" della colonna ID inserisci: Forms!nomeForm!id; così ogni volta che viene
eseguita la query viene richiesto l'ID per filtrarla, in questo caso viene letto il valore della casella di testo "ID" sulla form
aperta "nomeForm".

In Word apri il documento e l'origine dati della stampa unione la associ a quella query; ogni volta che viene aperto il documento e
richiesta la stampa unione, viene eseguita la query che a sua volta richiederà il valore "ID" alla form "nomeForm".

Inserisci il codice che ti ho suggerito (riadattandolo) e provalo...

Ciao.
--
Sergio MAZZA
Rick - Pipino
2004-10-06 15:11:48 UTC
Permalink
"Sergio MAZZA" ha scritto
Post by Sergio MAZZA
Ipotizzando che la query la devi filtrare per un campo ID che viene (non
necessariamente) visualizzato sulla form in una casella di
Post by Sergio MAZZA
testo chiamata ID. Nella query, nella riga "criteri" della colonna ID
inserisci: Forms!nomeForm!id; così ogni volta che viene
Post by Sergio MAZZA
eseguita la query viene richiesto l'ID per filtrarla, in questo caso viene
letto il valore della casella di testo "ID" sulla form
Post by Sergio MAZZA
aperta "nomeForm".
In Word apri il documento e l'origine dati della stampa unione la associ a
quella query; ogni volta che viene aperto il documento e
Post by Sergio MAZZA
richiesta la stampa unione, viene eseguita la query che a sua volta
richiederà il valore "ID" alla form "nomeForm".
Post by Sergio MAZZA
Inserisci il codice che ti ho suggerito (riadattandolo) e provalo...
Dunque non mi sono perso d'animo...

Ho fatto tutto come spiegato anche perchè stavolta mi pareva di averlo
capito.
E infatti sembra funzionare, ma solo se vado manualmente. Mi spiego, se apro
il file word lui mi chiede l'ID, io glielo do' e effettivamente va in stampa
unione il record giusto.
Se apro la mia form, scorro i record e lancio word (manualmente) funziona,
si apre in unione il record giusto.

Se vado col pulsante della form e quindi col codice e inserisco quanto
riportato (sia nel primo msg che nel secondo) iniziano i guai.
Non funziona.
Nel codice del primo messaggio devo togliere questa parte
oApp.ActiveDocument.PrintOut
Set oApp = Nothing
altrimenti si incazza. Word parte ma il record non lo sente, prende sempre
il solito anche se nella form scorro i record e riprovo.

Nel codice del secondo messaggio si blocca sulla wdSendToNewDocument dove
dice che l'oggetto richiesto non è disponibile.
Premetto che su VB ho settato Microsoft word 11 object library.

Grazie per la pazienza

Riccardo
Sergio MAZZA
2004-10-06 15:39:19 UTC
Permalink
Post by Rick - Pipino
"Sergio MAZZA" ha scritto
Post by Sergio MAZZA
Ipotizzando che la query la devi filtrare per un campo ID che viene (non
necessariamente) visualizzato sulla form in una casella di
Post by Sergio MAZZA
testo chiamata ID. Nella query, nella riga "criteri" della colonna ID
inserisci: Forms!nomeForm!id; così ogni volta che viene
Post by Sergio MAZZA
eseguita la query viene richiesto l'ID per filtrarla, in questo caso viene
letto il valore della casella di testo "ID" sulla form
Post by Sergio MAZZA
aperta "nomeForm".
In Word apri il documento e l'origine dati della stampa unione la associ a
quella query; ogni volta che viene aperto il documento e
Post by Sergio MAZZA
richiesta la stampa unione, viene eseguita la query che a sua volta
richiederà il valore "ID" alla form "nomeForm".
Post by Sergio MAZZA
Inserisci il codice che ti ho suggerito (riadattandolo) e provalo...
Dunque non mi sono perso d'animo...
Ho fatto tutto come spiegato anche perchè stavolta mi pareva di averlo
capito.
E infatti sembra funzionare, ma solo se vado manualmente. Mi spiego,
se apro il file word lui mi chiede l'ID, io glielo do' e
effettivamente va in stampa unione il record giusto.
Se apro la mia form, scorro i record e lancio word (manualmente)
funziona, si apre in unione il record giusto.
Se vado col pulsante della form e quindi col codice e inserisco quanto
riportato (sia nel primo msg che nel secondo) iniziano i guai.
Non funziona.
Nel codice del primo messaggio devo togliere questa parte
oApp.ActiveDocument.PrintOut
Set oApp = Nothing
altrimenti si incazza. Word parte ma il record non lo sente, prende
sempre il solito anche se nella form scorro i record e riprovo.
Nel codice del secondo messaggio si blocca sulla wdSendToNewDocument
dove dice che l'oggetto richiesto non è disponibile.
Premetto che su VB ho settato Microsoft word 11 object library.
Grazie per la pazienza
Riccardo
Facciamo prima se invii il codice che hai utilizzato; nel mentre controlla se non ci sono altre istanze di word rimaste aperte
(CTRL-ALT-CANC, Processi)...

Ciao.
--
Sergio MAZZA
Rick - Pipino
2004-10-06 16:01:02 UTC
Permalink
"Sergio MAZZA" ha scritto
Post by Sergio MAZZA
Facciamo prima se invii il codice che hai utilizzato; nel mentre controlla
se non ci sono altre istanze di word rimaste aperte
Post by Sergio MAZZA
(CTRL-ALT-CANC, Processi)...
Questo è uno dei tentativi... si blocca sul wdSendToNewDocument

Private Sub Comando6_Click()
Dim oApp As Word.Application
Set oApp = CreateObject("Word.Application")
oApp.Documents.Open "c:\temp\do.doc"
With oApp.ActiveDocument.MailMerge
.Destination = wdSendToNewDocument '<-- crea nuovi documenti
.Execute '<-- esegue il mailmerge
End With
oApp.Visible = True
Set oApp = Nothing
End Sub

Ma in pratica questo wdSendToNewDocument cos'e' e cosa fa ?
Nel debug mi dice che ha valore = 0

Riccardo
Sergio MAZZA
2004-10-06 16:07:20 UTC
Permalink
Post by Rick - Pipino
"Sergio MAZZA" ha scritto
Post by Sergio MAZZA
Facciamo prima se invii il codice che hai utilizzato; nel mentre controlla
se non ci sono altre istanze di word rimaste aperte
Post by Sergio MAZZA
(CTRL-ALT-CANC, Processi)...
Questo è uno dei tentativi... si blocca sul wdSendToNewDocument
Private Sub Comando6_Click()
Dim oApp As Word.Application
Set oApp = CreateObject("Word.Application")
oApp.Documents.Open "c:\temp\do.doc"
With oApp.ActiveDocument.MailMerge
.Destination = wdSendToNewDocument '<-- crea nuovi documenti
.Execute '<-- esegue il mailmerge
End With
oApp.Visible = True
Set oApp = Nothing
End Sub
Ma in pratica questo wdSendToNewDocument cos'e' e cosa fa ?
Nel debug mi dice che ha valore = 0
Riccardo
Hai inserito i riferimenti alla libreria di Word (Strumenti - Riferimenti)?

Cambialo in zero:
.Destination = 0 '<-- crea nuovi documenti

E' l'indicazione per word di cosa vuoi produrre con il mailmerge, se nuovi documenti (lettere), fax, e-mail o inviarli direttamente
alla stampante...

Ciao.
--
Sergio MAZZA
Rick - Pipino
2004-10-06 16:14:36 UTC
Permalink
"Sergio MAZZA" ha scritto
Post by Sergio MAZZA
Post by Rick - Pipino
Private Sub Comando6_Click()
Dim oApp As Word.Application
Set oApp = CreateObject("Word.Application")
oApp.Documents.Open "c:\temp\do.doc"
With oApp.ActiveDocument.MailMerge
.Destination = wdSendToNewDocument '<-- crea nuovi documenti
.Execute '<-- esegue il mailmerge
End With
oApp.Visible = True
Set oApp = Nothing
End Sub
.Destination = 0 '<-- crea nuovi documenti
E' l'indicazione per word di cosa vuoi produrre con il mailmerge, se nuovi
documenti (lettere), fax, e-mail o inviarli direttamente
Post by Sergio MAZZA
alla stampante...
Si la libreria di word l'ho settata. Si chiama "Microsoft Word 11 object
library", giusto ?
Cambiato .destination=0
Ma fa sempre uguale ossia:
Errore di run time 5852
L'oggetto richiesto non è disponibile

... ho sempre una finestra dal 2° piano, mi butto ?
Sergio MAZZA
2004-10-06 16:26:27 UTC
Permalink
Post by Rick - Pipino
Si la libreria di word l'ho settata. Si chiama "Microsoft Word 11
object library", giusto ?
Sì;
Post by Rick - Pipino
Cambiato .destination=0
Errore di run time 5852
L'oggetto richiesto non è disponibile
porc!
Post by Rick - Pipino
... ho sempre una finestra dal 2° piano, mi butto ?
AHa! Allora hai lasciato una finestra aperta!

L'errore riportato mi sembra strano, non è che hai tolto dalla query un campo e word non lo trova?

Ciao.
--
Sergio MAZZA
Rick - Pipino
2004-10-06 16:46:40 UTC
Permalink
"Sergio MAZZA" ha scritto
Post by Sergio MAZZA
L'errore riportato mi sembra strano, non è che hai tolto dalla query un
campo e word non lo trova?

Adesso faccio una cosa: cancello tutto.
Rifaccio tutto, database, tabella, query, mailmerge e se continua a non
andare sfanculizzo tutto e ... boh non lo so cosa faccio.

Intanto vado a mangiare una pizza, che non ho pranzato. :-)

Grazie mille Sergio !

P.S.: ma fosse che è un problema di office 2003 ?
Quasi quasi provo con il 2000 !
Sergio MAZZA
2004-10-06 16:58:36 UTC
Permalink
Post by Rick - Pipino
"Sergio MAZZA" ha scritto
Post by Sergio MAZZA
L'errore riportato mi sembra strano, non è che hai tolto dalla query
un campo e word non lo trova?
Adesso faccio una cosa: cancello tutto.
Rifaccio tutto, database, tabella, query, mailmerge e se continua a
non andare sfanculizzo tutto e ... boh non lo so cosa faccio.
Intanto vado a mangiare una pizza, che non ho pranzato. :-)
Grazie mille Sergio !
P.S.: ma fosse che è un problema di office 2003 ?
Quasi quasi provo con il 2000 !
Non c'entra nulla la versione, io utilizzo la '97.

Fai bene, una pizza ci vuole; anzi sai che faccio? Me la mangio anch'io!

Non sfanculizzare nulla, domani ci si riprova...

Ciao.
--
Sergio MAZZA
Rick - Pipino
2004-10-06 20:01:15 UTC
Permalink
"Sergio MAZZA" ha scritto
Post by Sergio MAZZA
Fai bene, una pizza ci vuole; anzi sai che faccio? Me la mangio anch'io!
Come minimo una pizza te la devo io, altrochè !
Post by Sergio MAZZA
Non sfanculizzare nulla, domani ci si riprova...
Domani sono in giro per lavoro lontano da Access (e mi sa che è un bene)
Ma venerdi te ne sarei grato...

Adesso stavo rifacendo delle prove...
Ormai ho capito come impostare la query per selezionare il record corrente
(almeno questo) e usando l'autocomposizione pulsante di Access 2003 è venuto
fuori questo:

On Error GoTo Err_puls_Click
Dim stAppName As String
stAppName = "winword.exe c:\temp\doc.doc"
Call Shell(stAppName, 1)
Exit_puls_Click:
Exit Sub
Err_puls_Click:
MsgBox Err.Description
Resume Exit_puls_Click

Tu non ci crederai ... ha funzionato !
Però non sono soddisfatto perchè se non ho capito male l'altro sistema mi
avrebbe consentito di fare una copia del file, di stamparlo, di inviarlo,
etc ...
Ora con la shell non so se è ancora possibile accedere a tute quelle
opzioni.

Ma questa è un'altra avventura ... :-)
Ciao
Riccardo
Sergio MAZZA
2004-10-07 06:47:45 UTC
Permalink
Post by Rick - Pipino
"Sergio MAZZA" ha scritto
Post by Sergio MAZZA
Fai bene, una pizza ci vuole; anzi sai che faccio? Me la mangio anch'io!
Come minimo una pizza te la devo io, altrochè !
Post by Sergio MAZZA
Non sfanculizzare nulla, domani ci si riprova...
Domani sono in giro per lavoro lontano da Access (e mi sa che è un bene)
Ma venerdi te ne sarei grato...
Adesso stavo rifacendo delle prove...
Ormai ho capito come impostare la query per selezionare il record
corrente (almeno questo) e usando l'autocomposizione pulsante di
On Error GoTo Err_puls_Click
Dim stAppName As String
stAppName = "winword.exe c:\temp\doc.doc"
Call Shell(stAppName, 1)
Exit Sub
MsgBox Err.Description
Resume Exit_puls_Click
Tu non ci crederai ... ha funzionato !
E perché non ci dovrei credere?
Post by Rick - Pipino
Però non sono soddisfatto perchè se non ho capito male l'altro
sistema mi avrebbe consentito di fare una copia del file, di
stamparlo, di inviarlo, etc ...
Bingo.
Post by Rick - Pipino
Ora con la shell non so se è ancora possibile accedere a tute quelle
opzioni.
Non senza faticare;
Post by Rick - Pipino
Ma questa è un'altra avventura ... :-)
e domani è un altro giorno...
Post by Rick - Pipino
Ciao
Ciao.
Post by Rick - Pipino
Riccardo
--
Sergio MAZZA
Rick - Pipino
2004-10-08 06:55:24 UTC
Permalink
"Sergio MAZZA" ha scritto
Post by Sergio MAZZA
Post by Rick - Pipino
On Error GoTo Err_puls_Click
Dim stAppName As String
stAppName = "winword.exe c:\temp\doc.doc"
Call Shell(stAppName, 1)
Exit Sub
MsgBox Err.Description
Resume Exit_puls_Click
... ha funzionato !
Però non sono soddisfatto perchè se non ho capito male l'altro
sistema mi avrebbe consentito di fare una copia del file, di
stamparlo, di inviarlo, etc ...
Ora con la shell non so se è ancora possibile accedere a tute quelle
opzioni.
Non senza faticare;
Il punto della situazione: con questo codice
Private Sub Comando6_Click()
On Error GoTo Err_Comando6_Click
Dim oApp As Word.Application
Set oApp = CreateObject("Word.Application")
oApp.Documents.Open "c:\temp\do.doc"
With oApp.ActiveDocument.MailMerge
.Destination = 0
.Execute
End With
oApp.Visible = True
Exit Sub
Err_Comando6_Click:
Set oApp = Nothing
MsgBox Err.Description
End Sub

c'e' sempre quell' "oggetto richiesto non è disponibile"

L'unica ulteriore prova che mi sono sentito di fare dopo una giornata di
prova è stato di prendere un altro PC, ricreare tutto daccapo... (magari in
questo pc a forza di far prove avessi scazzati qualcosa). Niente... tutto
uguale.

Probabilmente sbaglio qualcosa che non riesco a capire... oppure il problema
stà nell'accopiata winxp/office03.
Sergio se ti mando il file di prova zippato (sono 29 Kb) ?

Riccardo

Loading...