In questo articolo viene descritto come gestire gli eventi di Word dal client di automazione creato con Visual Basic .NET.
Creazione di un client di automazione per la gestione degli eventi di Word
-
Avviare Visual Studio .NET.
-
Scegliere Nuovo dal menu File, quindi fare clic su Progetto.
-
Selezionare il tipo Applicazione Windows da Progetti di Visual Basic, accettare il nome di progetto e il percorso predefiniti, quindi scegliere OK. In base all'impostazione predefinita viene creato il progetto Form1.
-
Creare un riferimento a Libreria oggetti di Microsoft Word. Per eseguire questa operazione, attenersi alla seguente procedura:
-
Scegliere Aggiungi riferimento dal menu Progetto.
-
Fare clic sulla scheda COM, quindi fare clic su Seleziona nella sezione Microsoft Word Object Library.
NOTA: nella Libreria oggetti di Microsoft Word è presente un numero di versione. La versione per Word 2000 è 9.0, mentre quella per Word 2002 è 10.0.
-
Nella finestra di dialogo Aggiungi riferimento scegliere OK per accettare le selezioni effettuate. Se viene chiesto di generare wrapper per le librerie selezionate, scegliere Sì.
-
Scegliere Casella degli strumenti dal menu Visualizza, quindi aggiungere un pulsante a Form1.
-
Fare doppio clic su Button1. La finestra del codice verrà aperta in corrispondenza dell'evento Button1_Click.
-
Incollare il seguente codice nella finestra del codice sopra all'evento Button1_Click:
Private WithEvents oWord As Word.Application
-
Aggiungere il seguente codice all'evento Button1_Click:
'Create a new instance of Word, make it visible, and activate it.
oWord = CreateObject("Word.Application")
oWord.Visible = True
oWord.Activate()
'Create a new document.
oWord.Documents.Add()
'Release the instance of Word and leave it running.
oWord = Nothing -
Aggiungere i seguenti commenti dopo l'evento Button1_Click:
'Handler for the Microsoft Word NewDocument event.
'The NewDocument event is fired when a new document is created.
-
Creare il codice per l'evento. Il metodo per eseguire questa operazione per le applicazioni di Office 2000 è diverso da quello per le applicazioni di Office XP.
Applicazioni di Office 2000:
Selezionare oWord dalla casella di riepilogo Nome classe, quindi selezionare NewDocument dalla casella di riepilogo Nome metodo.
Viene creato il seguente codice dell'evento:
Private Sub oWord_NewDocument(ByVal Doc As
Word._Document) _
Handles oWord.NewDocument
End Sub
Applicazioni di Office XP:
Selezionare oWord dalla casella di riepilogo Nome classe, quindi selezionare ApplicationEvents3_NewDocument dalla casella di riepilogo Nome metodo.
ApplicationEvents2 è applicabile ai programmi di Office 2000 e ApplicationsEvents3 ai programmi di Office XP.
Viene creato il seguente codice dell'evento:
Private Sub oWord_ApplicationEvents3_NewDocument(ByVal Doc As
Word._Document) _
Handles oWord.ApplicationEvents3_NewDocument
End Sub
-
Selezionare
Immettere il seguente codice nell'evento NewDocument:
'Add some text to the new document.
With oWord.Selection
.TypeText("The ")
With .Font
.Bold = Word.WdConstants.wdToggle
.Italic = Word.WdConstants.wdToggle
End With
.TypeText("NewDocument ")
With .Font
.Bold = Word.WdConstants.wdToggle
.Italic = Word.WdConstants.wdToggle
End With
.TypeText("event handler inserted this text.")
End With -
Selezionare
Premere F5 per eseguire l'applicazione.
-
Selezionare
Fare clic su Button1. Word verrà aperto e nel Documento1 sarà visualizzato il testo "The
NewDocument
event handler inserted this text".
In Visual Basic .NET viene utilizzata una convenzione di denominazione standard che unisce il nome del mittente dell'evento, un carattere di sottolineatura e il nome dell'evento. Per dichiarare che un evento specificato viene gestito da una routine, viene utilizzata la parola chiave
Handles. Nell'esempio precedente
oWord è l'oggetto che genera e invia gli eventi e
NewDocument è il nome dell'evento gestito.
Eventi generati in Word 2000
Riduci questa tabellaEspandi questa tabella
|
Evento
|
Oggetto
|
Descrizione
|
|---|
|
Close
|
Document
|
Si verifica quando un documento viene chiuso.
|
|
DocumentBeforeClose
|
Application
|
Si verifica immediatamente prima che un documento aperto venga chiuso.
|
|
DocumentBeforePrint
|
Application
|
Si verifica immediatamente prima che un documento aperto venga stampato.
|
|
DocumentBeforeSave
|
Application
|
Si verifica prima che un documento aperto venga salvato.
|
|
DocumentChange
|
Application
|
Si verifica quando viene creato un nuovo documento, quando un documento esistente viene aperto o quando un altro documento diventa il documento attivo.
|
|
DocumentOpen
|
Application
|
Si verifica quando un documento viene aperto.
|
|
New
|
Document
|
Si verifica quando viene creato un nuovo documento basato sul modello. La routine per l'evento New viene eseguita solo se è memorizzato in un modello.
|
|
NewDocument
|
Application
|
Si verifica quando viene creato un nuovo documento.
|
|
Open
|
Document
|
Si verifica quando un documento viene aperto.
|
|
Quit
|
Application
|
Si verifica quando l'utente chiude Word.
|
|
WindowActivate
|
Application
|
Si verifica quando viene attivata una qualsiasi finestra di documento.
|
|
WindowBeforeDoubleClick
|
Application
|
Si verifica quando viene fatto doppio clic nell'area di modifica di una finestra di documento, prima dell'azione doppio clic predefinita.
|
|
WindowBeforeRightClick
|
Application
|
Si verifica quando viene fatto clic con il pulsante destro del mouse nell'area di modifica di una finestra di documento, prima dell'azione clic con il pulsante destro del mouse predefinita.
|
|
WindowDeactivate
|
Application
|
Si verifica quando viene disattivata una qualsiasi finestra di documento.
|
|
WindowSelectionChange
|
Application
|
Si verifica quando cambia la selezione della finestra del documento attivo.
|
Ulteriori eventi generati in Word 2002
Riduci questa tabellaEspandi questa tabella
|
Evento
|
Oggetto
|
Descrizione
|
|---|
|
EPostageInsert
|
Application
|
Si verifica quando l'utente inserisce un'affrancatura elettronica in un documento.
|
|
EPostagPropertyDialog
|
Application
|
Si verifica quando l'utente fa clic su Proprietà affrancatura elettronica nella finestra di dialogo Buste/Etichette oppure su Stampa affrancatura elettronica. Questo evento consente a un'applicazione software di terze parti di intercettare e visualizzare la finestra di dialogo Proprietà.
|
|
MailMergeAfterMerge
|
Application
|
Si verifica dopo che tutti i record in una stampa unione sono stati uniti correttamente.
|
|
MailMergeRecordMerge
|
Application
|
Si verifica dopo che ogni record nell'origine dati è stato unito nella stampa unione.
|
|
MailMergeBeforeMerge
|
Application
|
Si verifica quando un'unione viene eseguita prima di qualsiasi altra unione di record.
|
|
MailMergeBeforeRecordMerge
|
Application
|
Si verifica mentre un'unione viene eseguita per i singoli record di un'unione.
|
|
MailMergeDataSourceLoad
|
Application
|
Si verifica quando viene caricata un'origine dati per una stampa unione.
|
|
MailMergeDataSourceValidate
|
Application
|
Si verifica quando un utente esegue la verifica di un indirizzo scegliendo Convalida nella finestra di dialogo Destinatari Stampa unione.
|
|
MailMergeWizardSendToCustom
|
Application
|
Si verifica quando si fa clic sul pulsante personalizzato nel passaggio 6 della Creazione guidata Stampa unione.
|
|
MailMergeWizardStateChange
|
Application
|
Si verifica quando un utente passa da un punto specificato a un altro nella Creazione guidata Stampa unione.
|
|
WindowSize
|
Application
|
Si verifica quando la finestra dell'applicazione viene ridimensionata o spostata.
|
Per ulteriori informazioni, visitare il seguente sito Web di Microsoft Developer Network (MSDN) (informazioni in lingua inglese):
Per ulteriori informazioni sulla gestione di eventi in Word con l'automazione, fare clic sul numero dell'articolo della Knowledge Base riportato di seguito (gli articoli con prefisso "Q" contengono informazioni in inglese):
285333
(http://support.microsoft.com/kb/285333/
)
INFO: Word 2002 MailMerge Event Code Demonstration