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.

Cognolato Studio © 2005