Ciao
Pede :)
Ciao
Massimo
______________________________
> antispam: rimuovere la K <
Pede wrote:
Ciao, anche io ci ho perso un po di tempo appresso anche perche la
documentazione in merito e' un po scarsina e gli esempi non mi sembra che
funzionino a dovere, comunque questa e' la serie di stringhe che io utilizzo
per passare il contenuto dei campi di una maschera ad un documento di word che
scelgo di volta in volta:
' --- CHIEDO CONFERMA DELL'APERTURA DI WORD
Dim prompt, titolo As String
prompt = "AVVIO WINWORD E TRASFERISCO IL DOCUMENTO?"
titolo = "ATTENZIONE"
If MsgBox(prompt, 52, titolo) = 7 Then Exit Sub
Dim strFinalDoc As String
Dim strFileOpenCmd As String
Dim lngChannel As Long
Dim lngReturnValue As Long
Dim strFilter As String
Dim strInputFileName As String
'**** SCELGO IL MODELLO DI FILE DA APRIRE ****
strFilter = ahtAddFilterItem(strFilter, "File di WINWORD (*.doc)", "*.doC")
strInputFileName = ahtCommonFileOpenSave(Filter:=strFilter, OpenFile:=True, _
DialogTitle:="Seleziona il file di layout da aprire...", _
Flags:=ahtOFN_HIDEREADONLY)
strFinalDoc = strInputFileName
If strFinalDoc = "NOFILE" Then
MsgBox ("oPERAZIONE ANNULLATA")
DoCmd.Close
Exit Sub
End If
'***** ESEGUO WINWORD *****
Const MSTB_MSWORD = 300&
Application.Run "utility.util_StartMSToolbarApp", MSTB_MSWORD
'-- APRO IL CANALE DI COMUNICAZIONE
lngChannel = DDEInitiate("WinWord", "System")
'-- APRO IL DOCUMENTO MASTER
strFileOpenCmd = "[Fileapri """ & strFinalDoc & """]"
DDEExecute lngChannel, strFileOpenCmd
'- SOSTITUISCO IL TITOLO DEL DOCUMENTO
DDEExecute lngChannel, "[modificasostituisci.trova=""" & "<REDATTO>" & """]"
DDEExecute lngChannel, "[inserisci""" & [Redatto] & """]"
DDEExecute lngChannel, "[modificasostituisci.trova=""" & "<VERIFICATO>" &
"""]"
DDEExecute lngChannel, "[inserisci""" & [Verificato] & """]"
DDEExecute lngChannel, "[modificasostituisci.trova=""" & "<APPROVATO>" &
"""]"
DDEExecute lngChannel, "[inserisci""" & [Approvato] & """]"
DDEExecute lngChannel, "[modificasostituisci.trova=""" & "<DESTINATARI>" &
"""]"
DDEExecute lngChannel, "[inserisci""" & [Distribuzione] & """]"
'--MODIFICO I DATI NELL'INTESTAZIONE
DDEExecute lngChannel, "[MOSTRAINTESTAZIONE]"
DDEExecute lngChannel, "[modificasostituisci.trova=""" & "<tipo>" & """]"
DDEExecute lngChannel, "[inserisci""" & [tipo_doc] & """]"
DDEExecute lngChannel, "[modificasostituisci.trova=""" & "<titolo>" & """]"
DDEExecute lngChannel, "[inserisci""" & [Descrizione] & """]"
DDEExecute lngChannel, "[modificasostituisci.trova=""" & "<CODICE>" & """]"
DDEExecute lngChannel, "[inserisci""" & [codice_doc] & """]"
DDEExecute lngChannel, "[modificasostituisci.trova=""" & "<DATA>" & """]"
DDEExecute lngChannel, "[inserisci""" & [data_doc] & """]"
'--CHIUDO L'INTESTAZIONE
DDEExecute lngChannel, "[MOSTRAINTESTAZIONE]"
DDEExecute lngChannel, "[beep][beep][beep]"
DDEExecute lngChannel, "[msgbox """ & "Ricordati di salvare il file con un
altro nome" & """]"
DDETerminateAll
DoCmd.Close
DoCmd.Close A_FORM, "introduzione"
'Chiudo tutto ed esco dal programma
'DoCmd.Quit
Exit Sub
End If
errore:
DDETerminateAll
MsgBox ("si e' verificato un errore")
Exit Sub
End Sub
L'unico problema è che su un computer (uno su 15) questa funzione non lancia
WINWORD, ma per farla funzionare bisogna aprire winword manualmente
........mistero!!!Ciao fammi sapere se hai problemi