Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. Visual Studio 6.0
Problemi con una Macro in Microsoft Outlook 2003
mercoledì 30 gennaio 2008 - 16.38
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
francesco.cignini
Profilo
| Newbie
1
messaggi | Data Invio:
mer 30 gen 2008 - 16:38
Ciao a tutti,
non sono pratico di visual basic e di Macro e ho questo problema...
Ho una macro per outlook 2003 che mi permette di archivia nel mio sistema di gestione documentale direttamente dal mio client outlook.
Sfortunatamente la macro non funziona...
Ecco il codice...
Public allegati As String
Public windir As String
Public myMessage As MailItem
Public myWord As Object
Public DocPrinc As String
'Dati della pratica selezionata
Public c_N_Pratica As String
Public c_Cliente As String
Public c_CodCliente As String
Public c_Responsabile As String
Public c_ResposnabileOperativo As String
Public c_OggettoPratica As String
Public c_Classe As String
Public c_Tipo As String
Public c_Data As String
Sub MsoToArc()
Dim buffer As String
Dim idConv As Long
Dim iCount, error As Long
Dim TipoDoc As String
Dim myOlApp As Object
Dim TipoDocumento As String
Dim DatiS As String
Dim OggettoDocumento As String
On Error GoTo ViewError
'1 creazione degli oggetti
Set myOlApp = CreateObject("Outlook.Application")
'Set myWord = CreateObject("Word.Application")
Set myMessage = myOlApp.ActiveInspector.CurrentItem
'2 Allegati del messaggio
Set myattacment = myMessage.Attachments
'3 Directory temporanea di archidoc
windir = Environ("temp") + "\ARCHTEMP\"
If windir = "" Then
windir = Environ("windir") + "\Temp\ARCHTEMP\"
End If
'4 Scrittura degli allegati nella lista
For Each Item In myattacment
UserForm1.ListaAllegati.AddItem myattacment.Item(Item.Index).DisplayName
Next
'4 bis Carico la combo per il tipo pratica
UserForm1.Combo_TipoPratica.AddItem "Bilancio"
UserForm1.Combo_TipoPratica.AddItem "Dichiarazioni"
'5 Visualizzazione del form per la scelta delle opzioni
UserForm1.Show
c_Data = CStr(myMessage.CreationTime)
TipoDocumento = UserForm1.Combo_TipoPratica.Text
'Dati$ = ";PI_:" & c_N_Pratica
Dati$ = ";DD_:" & c_Data
Dati$ = Dati$ + ";C1_:" & c_N_Pratica & "|" & c_Cliente & "|" & c_Responsabile & "|" & c_ResposnabileOperativo
Dati$ = Dati$ + ";C2_:" & c_Classe & "|" & "|" & c_Tipo
Dati$ = Dati$ + ";C3_:" & c_OggettoPratica
Dati$ = Dati$ + ";C4_:||NO"
OggettoDocumento = "Destinatario: " & myMessage.To & " Oggetto: " & myMessage.Subject
'6 Inizio della tranzazione DDE
DDETerminateAll
'7 Questa istruzione serve per visualizzare la scheda di inserimento e spedirla automaticamente
'N.B.: Se si vuole che quando si esegue la macro venga aperta solamente la scheda di inserimento e
'non venga spedito il documento in automatico, basta commentare la riga segnata a fianco dal numenro 9
'e decomentare la riga segnata con il numero 11
'idConv = DDEInitiate("Archidoc", "Insertion window and send") '8
'9 Questa istruzione serve per visualizzare la scheda di inserimento
'idConv = DDEInitiate("Archidoc", "Insertion window and send") '10
idConv = DDEInitiate("Archidoc", "Insertion window")
'11 Esecuzione comando DDE
DDEExecute idConv, _
"AM_:Pratiche Clienti;DM_:" & TipoDocumento & Dati$ & _
";FI_:" & DocPrinc & ";ALL_:" & UserForm1.allegati & ";O_:" & OggettoDocumento
DDETerminate (idConv)
'orig
'DDEExecute idConv, _
' "AM_:TEST;DM_:Macro;FI_:" & DocPrinc & ";ALL_:" & UserForm1.allegati & ";O_:" & myMessage.Subject
'DDETerminate (idConv)
'12 Fine tranzazione DDE
'13 Distruzione del form
Unload UserForm1
'14 Gestione errori
ViewError:
error = Err.Number
If error = 91 Then
MsgBox ("Nessun messaggio aperto.")
Else
If Not Err.Description = "" Then
MsgBox (Err.Description)
End If
End If
'15 Distruzione degli oggetti
'myWord.Application.Quit
Set myWord = Nothing
Set myOlApp = Nothing
Set myMessage = Nothing
End
End Sub
'1 Create Objects
'2 enclosures of the message
'3 Archidoc Temp directory
'4 add enclosures to the list
'5 view form for selecting options
'6 start DDE transaction
'7 this instruction displays the insertion card and sends it automatically
'N.B.: if you want the macro to open the insertion card, without sending the
'document automatically, just comment line no. 8 and remove the comment mark from
'line no. 10
'9 this instruction displays the insertion card
'11 Execute the DDE command
'12 end of DDE transaction
'13 destroy form
'14 error management
'15 destroy object
l'errore che mi ritorna è "il componente active x non è in grado di trovare l'oggetto"
non riesco a venirne fuori viste anche le mie poche competenze (leggete pure nulle) in materia...
Aiuto.
Francesco
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !