Esempi di collegamenti tra applicazioni Office
|
Esempi su collegamenti tra applicazioni Office. |
|
| Esempio 1 |
|
| Creiamo una nuova cartella di lavoro Excel ed apriamo un modulo di codice in VBA.
Inseriamo il codice seguente e proviamo ad eseguire le due routine
(posizionandoci sull'istruzione sub e premendo F5) in ordine casuale. |
|
'Dichiaro una variabile oggetto pubblica
Public AppWd As Word.Application
Sub MacroCreate()
'
'Se errore continua con istruzione successiva
On Error Resume Next
Set AppWd = GetObject(, "Word.application")
'Verifica se è stata creata
'l''istanza dell''oggetto Word Application
If AppWd Is Nothing Then
'Se non esiste una applicazione word in esecuzione
Set AppWd = CreateObject("Word.application")
MsgBox "usa la CREATE"
Else
MsgBox "usa la GET"
End If
'Se non usassi visible avvierebbe
'l''applicazione in background
AppWd.Visible = True
'
End Sub
Sub MacroQuit()
'
With AppWd
'Verifica se esiste l''istanza
'dell''oggetto Word Application
If AppWd Is Nothing Then
MsgBox "Oggetto AppWd inesistente", _
vbExclamation, "Attenzione!"
Else
MsgBox "Word verrà chiuso", vbInformation
Set AppWd = Nothing
.Quit
End If
End With
'
End Sub
|
| La routine "MacroCreate" valuta se esiste una istanza dell'applicazione AppWd, altrimenti ne crea una nuova.
La routine "MacroQuit" chiude l'istanza se ne esiste una, altrimenti da un messaggio di errore. |
|
| Esempio 2 |
|
| Creiamo una nuova cartella Excel ed apriamo un modulo di codice in VBA.
Inseriamo il codice seguente e proviamo ad eseguire la routine,
posizionandoci sull'istruzione sub e premendo F5. |
|
Sub MacroMail()
Dim oOutlook As Outlook.Application
Dim oMessage As Outlook.Mailitem
Set oOutlook = CreateObject("Outlook.Application")
Set oMessage = oOutlook.CreateItem(olMailItem)
With oMessage
.To = "Nome@prova.it"
.Subject = "Prova"
.Body = "Prova di messaggio"
.Attachments.Add "C:\Progetti VBA\prova.doc", _
, , "prova"
.Display
.Send
End With
oOutlook.Quit
End Sub
|
| La routine genera due variabili oggetto:
una nuova istanza dell'applicazione Outlook ed un nuovo messaggio di posta.
All'interno dell'istruzione with sono gestiti: il destinatario, il soggetto ed il corpo
dell'e-mail.
Il metodo "Attachments.Add" inserisce un file allegato al messaggio.
Il metodo send infine invia il messaggio di posta elettronica.
|
|
|
Avremmo potuto estrapolare i dati della mail dalle celle del foglio Excel attivo, invece di assegnarli direttamente alle variabili, in questo modo:
|
|
With oMessage
.To = Range("B2")
.Subject = Range("B3")
.Body = Range("B4")
.Display
.Send
End With
|
|
N.B. Il messaggio verrà inviato solo se sul pc è impostata la connessione di posta per
Microsoft Outlook.
|
|
|