BUG: Η παράμετρος "Άκυρο" για συμβάντα του Office λαμβάνεται υπόψη στο Visual Studio.NET 2003

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 830519 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Αυτό το αρχείο έχει αρχειοθετηθεί. Προσφέρεται “ως έχει” και δεν θα ενημερώνεται πια.
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

Περίληψη

Όταν εργάζεστε με το Microsoft Visual Studio .NET 2003, ενδέχεται να αντιμετωπίσετε προβλήματα κατά τη χρήση τουΆκυρο (Cancel)η παράμετρος σε συμβάν COM που ενεργοποιείται από το Microsoft Word, το Microsoft Excel ή το Microsoft Outlook. Παρόλο που ο κώδικας λαμβάνει το συμβάν COM και ο κώδικας να ορίσετε την παράμετρο αντίστοιχα, COM το συμβάν δεν έχει ακυρωθεί. Αυτό το ζήτημα προκύπτει όταν χρησιμοποιείτε διαλειτουργικότητα από ένα πρόγραμμα-πελάτης διαχείρισης (όπως το Microsoft Visual C# ή Microsoft Visual Basic .NET) και μπορείτε επίσης να χρησιμοποιήσετε την έκδοση 1.1 του Microsoft .NET Framework.

Αιτία

Το .NET Framework 1.1 έχει αλλαγές ασφαλείας για να βελτιώσετε την ασφάλεια του τύπου κατά την αλληλεπίδραση με ένα στοιχείο COM που έχουν εισαχθεί. Το .NET Framework 1.1 βελτιώνει την ασφάλεια τύπου χρησιμοποιώντας τις πληροφορίες δρομολόγησης στη βιβλιοθήκη τύπων του στοιχείου. Κατά τον αυτοματισμό του Word, Excel ή του Outlook από ένα διαχειριζόμενο υπολογιστή-πελάτη, η συγκρότηση διαλειτουργικότητα COM (IA) ή κύρια συγκρότηση διαλειτουργικότητα (PIA) για το Microsoft Office XP χρησιμοποιεί τις πληροφορίες για τον τύπο που είναι αποθηκευμένα σε τις βιβλιοθήκες τύπων του Microsoft Office για το χειρισμό συμβάντων. Πληκτρολογήστε υπάρχουσες εκδόσεις του Word, τις βιβλιοθήκες, τις βιβλιοθήκες τύπων του Excel και το σημάδι βιβλιοθηκών τύπου Outlook τοΆκυρο (Cancel)η παράμετρος ως ένα[σε]Παράμετρος. Για ναΆκυρο (Cancel)η παράμετρος έχει σημειωθεί ως ένα[σε]η παράμετρος, έτσι ώστε το χρόνο εκτέλεσης κοινής γλώσσας επιβάλλει αυτόν τον περιορισμό και δεν επιτρέπει τις αλλαγές που γίνονται από το διαχειριζόμενο κώδικα από που επιστράφηκε στον καλούντα. Επομένως, το συμβάν δεν είναι δυνατό να ακυρωθούν από ένα διαχειριζόμενο κώδικα IA (ή PIA).

Προτεινόμενη αντιμετώπιση

Αυτό το σφάλμα διορθώθηκε στο Microsoft Office 2003.

Εναλλακτικός τρόπος αντιμετώπισης

Εάν χρησιμοποιείτε μια παλαιότερη έκδοση του Word, μια παλαιότερη έκδοση του Excel ή μια παλαιότερη έκδοση του Outlook, πρέπει να δημιουργήσετε το δικό σας δέκτη σημείο σύνδεσης στον διαχειριζόμενο κώδικα. Έναν προσαρμοσμένο δείκτη χειρισμού να αποφύγετε την εξάρτηση της βιβλιοθήκης τύπων και η προστασία επιβάλλεται τύπου που εφαρμόζονται συνήθως. Επομένως, μπορούν να διαβιβαστούν στο όρισμα πίσω στον καλούντα.

Η Microsoft παρέχει παραδείγματα προγραμματισμού μόνο για λόγους επεξήγησης, χωρίς να παρέχει καμία εγγύηση, σιωπηρή ή ρητή. Σε αυτά περιλαμβάνονται, ενδεικτικά, οι σιωπηρές εγγυήσεις εμπορευσιμότητας ή/και καταλληλότητας για συγκεκριμένο σκοπό. Αυτό το άρθρο προϋποθέτει ότι είστε εξοικειωμένοι με τη γλώσσα προγραμματισμού που παρουσιάζεται, καθώς και με τα εργαλεία που χρησιμοποιούνται για τη δημιουργία και τον εντοπισμό σφαλμάτων κώδικα διαδικασιών. Οι μηχανικοί υποστήριξης της Microsoft μπορούν να σας εξηγήσουν τη λειτουργικότητα μιας συγκεκριμένης διαδικασίας, αλλά δεν θα τροποποιήσουν αυτά τα παραδείγματα, για να παράσχουν πρόσθετες λειτουργίες, ούτε θα δημιουργήσουν διαδικασίες, για να καλύψουν τις συγκεκριμένες απαιτήσεις σας.

Δημιουργία μιας κλάσης βοηθητικής εφαρμογής

Για την απευθείας αποδεκτών τα συμβάντα από το Visual C#, πρέπει να δημιουργήσετε το δικό σας ορισμό διασύνδεση και πρέπει επίσης να δημιουργήσετε μια κλάση βοηθητικού προγράμματος για την υλοποίηση του κώδικα του συμβάντος. Ο ορισμός διασύνδεση πρέπει να ταιριάζει με το καθολικό, μοναδικό αναγνωριστικό (GUID) και τα αναγνωριστικά Αποστολή (DISPID) για το δέκτη συμβάντων που αναμένεται από το αντικείμενο σχεδίασης του Office που θέλετε να αποδεχτεί συμβάντα για. Για να μάθετε ποιες είναι οι τιμές αυτές, μπορείτε να χρησιμοποιήσετε οποιαδήποτε από τις ακόλουθες μεθόδους:
  • Μπορείτε να χρησιμοποιήσετε το πρόγραμμα προβολής του αντικειμένου OLE/COM, που περιλαμβάνεται στο Visual Studio .NET 2003 Professional Edition
  • Μπορείτε να χρησιμοποιήσετε το Platform SDK. Για πρόσθετες πληροφορίες σχετικά με την πλατφόρμα SDK, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft στο Web:

    http://www.Microsoft.com/msdownload/platformsdk/sdkupdate
Όταν γνωρίζετε το αναγνωριστικό GUID και το DISPID, μπορείτε να δημιουργήσετε το δικό σας ορισμό του ορισμού διασύνδεση σε Visual Basic .NET ή σε Visual C#.

Αυτό το άρθρο παρέχει δύο παραδείγματα που δείχνουν τον τρόπο χρήσης της προσαρμοσμένης σύνδεσης τοποθετείτε το δείκτη για να επιλύσετε αυτό το ζήτημα. Στο πρώτο παράδειγμα δείχνει πώς να αποδεχτεί τοΕφαρμογήαντικείμενο συμβάντων για το Word 2000 και κατόπιν ακυρώστε τοDocumentBeforeCloseτο συμβάν, έτσι ώστε ο χρήστης δεν είναι δυνατό να κλείσετε το έγγραφο. Το δεύτερο παράδειγμα δέκτες τηςItemSendσυμβάν για το Outlook 2002, ώστε να μπορείτε να ακυρώσετε τη λειτουργία αποστολής στην εφαρμογή σας.

Παράδειγμα 1: ΆκυροDocumentBeforeCloseΣυμβάν

  1. Ξεκινήστε το Visual Studio .NET 2003. Για να ξεκινήσετε ένα νέο έργο. ΕπιλογήΤο Visual C#με τον τύπο του έργου. ΕπιλογήΤα Windows εφαρμογώνμε το πρότυπο. Το όνομα του έργουMyWordEventTest, και στη συνέχεια κάντε κλικ στο κουμπίOk.

    Από προεπιλογή, δημιουργείται η φόρμα Form1.
  2. Στο διακομιστήΤο έργομενού, κάντε κλικ στο κουμπίΠροσθήκη αναφοράς. Στο παράθυρο διαλόγου, επιλέξτεΤο Microsoft Word 9.0 Object Libraryαπό την καρτέλα COM, κάντε κλικ στο κουμπίΕπιλογήΓια να προσθέσετε μια αναφορά και στη συνέχεια κάντε κλικ στο κουμπίOkΓια να κλείσετε το παράθυρο διαλόγου.

    Ένα προσαρμοσμένο IA δημιουργείται αυτόματα για εσάς.
  3. Στο διακομιστήΤο έργομενού, κάντε κλικ στο κουμπίΠροσθήκη μιας κλάσης. ΕπιλογήΑρχείο κώδικα, και στη συνέχεια το όνομα της κλάσηςWord9EventHelper.CS. Κάντε κλικOkΓια να δημιουργήσετε το αρχείο.
  4. Προσθέστε τον ακόλουθο κώδικα στο παράθυρο κώδικα για Word9EventHelper.cs:
    using System;
    using System.Runtime.InteropServices;
    using Word; // The default name for a custom Word IA.
    // If you use Office XP and you have the PIAs
    // referenced in your project, you must change the previous line to read:
    // using Word = Microsoft.Office.Interop.Word;
    
    namespace WordAppEvents9
    {
    	[InterfaceType(ComInterfaceType.InterfaceIsIDispatch),
    	GuidAttribute("000209FE-0000-0000-C000-000000000046")]
    	public interface DWordApplicationEvents9
    	{
    		[DispId(0x00000001)] void Startup();
    		[DispId(0x00000002)] void Quit();
    		[DispId(0x00000003)] void DocumentChange();
    		[DispId(0x00000004)] void DocumentOpen(Word.Document doc);
    		[DispId(0x00000006)] void DocumentBeforeClose(Word.Document doc, ref bool Cancel);	
    		[DispId(0x00000007)] void DocumentBeforePrint(Word.Document doc, ref bool Cancel);
    		[DispId(0x00000008)] void DocumentBeforeSave(Word.Document doc, ref bool SaveAsUI, ref bool Cancel);
    		[DispId(0x00000009)] void NewDocument(Word.Document doc);
    		[DispId(0x0000000a)] void WindowActivate(Word.Document doc, Word.Window wn);
    		[DispId(0x0000000b)] void WindowDeactivate(Word.Document doc, Word.Window wn);
    		[DispId(0x0000000c)] void WindowSelectionChange(Word.Selection sel);
    		[DispId(0x0000000d)] void WindowBeforeRightClick(Word.Selection sel, ref bool Cancel);
    		[DispId(0x0000000e)] void WindowBeforeDoubleClick(Word.Selection sel, ref bool Cancel);
    	}
    
    
    	public class WordAppEventHelper : DWordApplicationEvents9, IDisposable
    	{
    		public WordAppEventHelper()
    		{
    			m_oConnectionPoint = null;
    			m_Cookie = 0;
    		}
    
    		public void Startup()
    		{System.Diagnostics.Debug.WriteLine("Startup");}
    
    		public void Quit()
    		{System.Diagnostics.Debug.WriteLine("Quit");}
    
    		public void DocumentChange()
    		{System.Diagnostics.Debug.WriteLine("DocumentChange");}
    
    		public void DocumentOpen(Word.Document doc)
    		{System.Diagnostics.Debug.WriteLine("DocumentOpen");}
    
    		public void DocumentBeforeClose(Word.Document doc, ref bool Cancel)
    		{
    			System.Diagnostics.Debug.WriteLine("DocumentBeforeClose");
    			Cancel = true; // Cancel the close!
    		}
    
    		public void DocumentBeforePrint(Word.Document doc, ref bool Cancel)
    		{System.Diagnostics.Debug.WriteLine("DocumentBeforePrint");}
    
    		public void DocumentBeforeSave(Word.Document doc, ref bool SaveAsUI, ref bool Cancel)
    		{System.Diagnostics.Debug.WriteLine("DocumentBeforeSave");}
    
    		public void NewDocument(Word.Document doc)
    		{System.Diagnostics.Debug.WriteLine("NewDocument");}
    
    		public void WindowActivate(Word.Document doc, Word.Window wn)
    		{System.Diagnostics.Debug.WriteLine("WindowActivate");}
    
    		public void WindowDeactivate(Word.Document doc, Word.Window wn)
    		{System.Diagnostics.Debug.WriteLine("WindowDeactivate");}
    
    		public void WindowSelectionChange(Word.Selection sel)
    		{System.Diagnostics.Debug.WriteLine("WindowSelectionChange");}
    
    		public void WindowBeforeRightClick(Word.Selection sel, ref bool Cancel)
    		{System.Diagnostics.Debug.WriteLine("WindowBeforeRightClick");}
    
    		public void WindowBeforeDoubleClick(Word.Selection sel, ref bool Cancel)
    		{System.Diagnostics.Debug.WriteLine("WindowBeforeDoubleClick");}
    
    		private UCOMIConnectionPoint m_oConnectionPoint;
    		private int m_Cookie;
    
    		public void SetupConnection(Word.Application app)
    		{
    			if (m_Cookie != 0) return;
    
    			// GUID of the DIID_ApplicationEvents dispinterface.
    			Guid guid = new Guid("{000209FE-0000-0000-C000-000000000046}");
    
    			// QI for IConnectionPointContainer.
    			UCOMIConnectionPointContainer oConnPointContainer = (UCOMIConnectionPointContainer)app;
    
    			// Find the connection point and then advise.
    			oConnPointContainer.FindConnectionPoint(ref guid, out m_oConnectionPoint);
    			m_oConnectionPoint.Advise(this, out m_Cookie);
    		}
    
    		public void RemoveConnection()
    		{
    			if (m_Cookie != 0)
    			{
    				m_oConnectionPoint.Unadvise(m_Cookie);
    				m_oConnectionPoint = null;
    				m_Cookie = 0;
    			}
    		}
    
    		public void Dispose(){RemoveConnection();}
    	}
    }
  5. Επιστροφή στην Φόρμα1 και στη συνέχεια να προσθέσετε ένα κουμπί εντολής. Κάντε διπλό κλικ στο κουμπί εντολής για να κάνετε το παράθυρο κώδικα για Form1.cs εμφανίζονται. Ή, από τοViewμενού, κάντε κλικ στο κουμπίΚωδικόςΓια να κάνετε το παράθυρο κώδικα για Form1.cs εμφανίζονται. Προσθέστε τον ακόλουθο κώδικα στο πρόγραμμα χειρισμού κουμπί για τοΚάντε κλικΣυμβάν:
    Word.Document doc;
    Object missing = System.Reflection.Missing.Value;
    
    // Create a new instance of Word and then set up the event handler.
    m_oApp = new Word.ApplicationClass();
    m_oAppEvents = new WordAppEvents9.WordAppEventHelper();
    m_oAppEvents.SetupConnection(m_oApp);
    
    // Make Word visible and then display a new document to test close.
    m_oApp.Visible = true;
    doc = m_oApp.Documents.Add(ref missing, ref missing, ref missing, ref missing);
    doc.UserControl = true;
    doc.Content.Text = "Try to close the document";
    
    // You only have to do this one time in this sample.
    button1.Enabled = false;
    
  6. Προσθέστε τον ακόλουθο κώδικα για τοΦόρμα1η κλάση πριν από το πρόγραμμα χειρισμού κουμπιού:
    Word.Application m_oApp;
    WordAppEvents9.WordAppEventHelper m_oAppEvents;
    
  7. Στο διακομιστήΔημιουργίαμενού, κάντε κλικ στο κουμπίΔημιουργία λύσεωνΓια να γίνει το έργο. Κάντε κλικΟ εντοπισμός σφαλμάτων, και στη συνέχεια κάντε κλικ στο κουμπίStartΓια να εκτελέσετε την εφαρμογή.

    Κατά την εκκίνηση της εφαρμογής, μπορείτε να κάνετε κλικ στο κουμπί εντολής και στη συνέχεια εμφανίζεται το Word. Δεν μπορείτε να κλείσετε το παράθυρο του Word, μέχρι να κλείσετε την εφαρμογή σας.

    Μπορείτε να χρησιμοποιήσετε παρόμοιο κωδικό για το χειρισμό συμβάντων για το Excel.

Παράδειγμα 2: ΆκυροItemSendΣυμβάν

  1. Ξεκινήστε το Visual Studio .NET 2003. Για να ξεκινήσετε ένα νέο έργο. ΕπιλογήΤο Visual C#με τον τύπο του έργου. ΕπιλογήΤα Windows εφαρμογώνμε το πρότυπο. Το όνομα του έργουMyOutlookEventTest, και στη συνέχεια κάντε κλικ στο κουμπίOk.

    Από προεπιλογή, δημιουργείται η φόρμα Form1.
  2. Στο διακομιστήΤο έργομενού, κάντε κλικ στο κουμπίΠροσθήκη αναφοράς. Στο παράθυρο διαλόγου, επιλέξτεMicrosoft Outlook 10.0 βιβλιοθήκη αντικειμένωναπό την καρτέλα COM, κάντε κλικ στο κουμπίΕπιλογήΓια να προσθέσετε μια αναφορά και στη συνέχεια κάντε κλικ στο κουμπίOkΓια να κλείσετε το παράθυρο διαλόγου.

    Ένα προσαρμοσμένο IA δημιουργείται αυτόματα για εσάς.
  3. Στο διακομιστήΤο έργομενού, κάντε κλικ στο κουμπίΠροσθήκη μιας κλάσης. ΕπιλογήΑρχείο κώδικα, και στη συνέχεια το όνομα της κλάσηςOutlook10EventHelper.CS. Κάντε κλικOkΓια να δημιουργήσετε το αρχείο.
  4. Προσθέστε τον ακόλουθο κώδικα στο παράθυρο κώδικα για Outlook10EventHelper.cs:
    using System;
    using System.Runtime.InteropServices;
    //using Outlook; // The default name for a custom Word IA.
    // If you use Office XP and you have the PIAs
    // referenced in your project, you must change the previous line to read:
    using Outlook = Microsoft.Office.Interop.Outlook;
    using System.Windows.Forms;
    
    namespace OutlookAppEvents10
    {
    	[InterfaceType(ComInterfaceType.InterfaceIsIDispatch),
    	GuidAttribute("0006300E-0000-0000-C000-000000000046")]
    	public interface DOutlookApplicationEvents_10
    	{
    		void ItemSend(object Item, ref bool Cancel);
    		void NewMail();
    		void Reminder(object Item);
    		void OptionsPagesAdd(Outlook.PropertyPages Pages);
    		void Startup();
    		void Quit();
    		void AdvancedSearchComplete(Outlook.Search SearchObject);
    		void AdvancedSearchStopped(Outlook.Search SearchObject);
    		void MAPILogonComplete();
    	}
    
    	public class OutlookAppEventHelper : IDisposable
    	{
    		public OutlookAppEventHelper()
    		{
    			m_oConnectionPoint = null;
    			m_Cookie = 0;
    		}
    
    		private UCOMIConnectionPoint m_oConnectionPoint;
    		private int m_Cookie;
    
    		public void SetupConnection(Outlook.Application app)
    		{
    			if (m_Cookie != 0) return;
    			// GUID of the DIID_ApplicationEvents dispinterface.
    			Guid guid = new Guid("{0006300E-0000-0000-C000-000000000046}");
    
    			// QI for IConnectionPointContainer.
    			UCOMIConnectionPointContainer oConnectionPointContainer = (UCOMIConnectionPointContainer)app;
    
    			// Find the connection point and then advise.
    			oConnectionPointContainer.FindConnectionPoint(ref guid, out m_oConnectionPoint);
    			m_oConnectionPoint.Advise(this, out m_Cookie);
    		}
    
    		public void RemoveConnection()
    		{
    			if (m_Cookie != 0)
    			{
    				m_oConnectionPoint.Unadvise(m_Cookie);
    				m_oConnectionPoint = null;
    				m_Cookie = 0;
    			}
    		}
    
    		#region IDisposable Members
    
    		public void Dispose()
    		{
    			RemoveConnection();
    		}
    
    		#endregion
    
    		//#region DOutlookApplicationEvents_10 Members
    
    		[DispId(0x0000F002)]
    		public void ItemSend(object Item, ref bool Cancel)
    		{
    			DialogResult result;
    			result = MessageBox.Show("Do you want to cancel the ItemSend event?","",MessageBoxButtons.YesNo);
    			if(result == DialogResult.Yes)
    			{
    				System.Diagnostics.Debug.WriteLine("Cancelling Message");
    				Cancel = true;	
    			}
    			else
    			{
    				System.Diagnostics.Debug.WriteLine("Passing Message");
    				Cancel = false;
    			}
    		}
    
    		[DispId(0x0000F003)]
    		public void NewMail()
    		{
    			MessageBox.Show("NewMail");
    		}
    
    		[DispId(0x0000F004)]
    		public void Reminder(object Item)
    		{
    			MessageBox.Show("Reminder");
    		}
    
    		[DispId(0x0000F005)]
    		public void OptionsPagesAdd(Microsoft.Office.Interop.Outlook.PropertyPages Pages)
    		{
    			MessageBox.Show("OptionsPagesAdd");
    		}
    
    		[DispId(0x0000F006)]
    		public void Startup()
    		{
    			MessageBox.Show("Startup");
    		}
    
    		[DispId(0x0000F007)]
    		public void Quit()
    		{
    			MessageBox.Show("Quit");
    		}
    
    		[DispId(0x0000FA6A)]
    		public void AdvancedSearchComplete(Microsoft.Office.Interop.Outlook.Search SearchObject)
    		{
    			MessageBox.Show("AdvancedSearchComplete");
    		}
    
    		[DispId(0x0000FA6B)]
    		public void AdvancedSearchStopped(Microsoft.Office.Interop.Outlook.Search SearchObject)
    		{
    			MessageBox.Show("AdvancedSearchStopped");
    		}
    
    		[DispId(0x0000FA90)]
    		public void MAPILogonComplete()
    		{
    			MessageBox.Show("MAPILogonComplete");
    		}
    		//#endregion
    	}
    }
    ΣΗΜΕΙΩΣΗΠρέπει να τοποθετήσετε το χαρακτηριστικό [DispId(#)] τις μεθόδους. Διαφορετικά, δεν είναι δυνατή η ακύρωση του συμβάντος.
  5. Επιστροφή στην Φόρμα1 και στη συνέχεια να προσθέσετε ένα κουμπί εντολής. Κάντε διπλό κλικ στο κουμπί εντολής για να κάνετε το παράθυρο κώδικα για Form1.cs εμφανίζονται. Ή, από τοViewμενού, κάντε κλικ στο κουμπίΚωδικόςΓια να κάνετε το παράθυρο κώδικα για Form1.cs εμφανίζονται. Προσθέστε τον ακόλουθο κώδικα στο πρόγραμμα χειρισμού κουμπί για τοΚάντε κλικΣυμβάν:
    Outlook.MailItem item;
    
    if (m_oApp == null)
    {
    	// Create a new instance of Outlook and then set up the event handler.
    	m_oApp = new Outlook.ApplicationClass();
    	m_oAppEvents = new OutlookAppEvents10.OutlookAppEventHelper();
    	m_oAppEvents.SetupConnection(m_oApp);
    } 
    
    // Make Outlook visible and then display a new message to test send.
    item = (Outlook.MailItem)m_oApp.CreateItem(Outlook.OlItemType.olMailItem);
    item.Subject = "The Subject!";
    item.Body = "Try sending the message.";
    item.Display(m_oApp);
  6. Προσθέστε τον ακόλουθο κώδικα για τοΦόρμα1η κλάση πριν από το πρόγραμμα χειρισμού κουμπιού:
    Outlook.Application m_oApp;
    OutlookAppEvents10.OutlookAppEventHelper m_oAppEvents;
    
  7. Στο διακομιστήΔημιουργίαμενού, κάντε κλικ στο κουμπίΔημιουργία λύσεωνΓια να γίνει το έργο. Κάντε κλικΟ εντοπισμός σφαλμάτων, και στη συνέχεια κάντε κλικ στο κουμπίStartΓια να εκτελέσετε την εφαρμογή.

    Κατά την εκκίνηση της εφαρμογής, μπορείτε να κάνετε κλικ στο κουμπί εντολής και στη συνέχεια εμφανίζεται το Outlook. Δημιουργείται αυτόματα μια νέα πρόχειρη έκδοση του ηλεκτρονικού ταχυδρομείου. Εισαγάγετε έναν παραλήπτη στο στοToγραμμή και, στη συνέχεια, κάντε κλικ στο κουμπίΣΤΕΙΛΤΕ. Θα λάβετε ένα pop παράθυρο διαλόγου που σας ρωτά αν θέλετε να ακυρώσετε το συμβάν ItemSend. Κάντε κλικYESΓια να την ακυρώσετε.

    Μπορείτε να χρησιμοποιήσετε παρόμοιο κωδικό για το χειρισμό συμβάντων για το Excel.

Κατάσταση

Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα θέμα το οποίο παρουσιάζεται στα προϊόντα της που αναφέρονται στην ενότητα "Ισχύει για" αυτού του άρθρου.

Αναφορές

Για πρόσθετες πληροφορίες σχετικά με την αυτοματοποίηση του Office από το Visual Studio .NET, κάντε κλικ στον αριθμό του άρθρου παρακάτω για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
311452Ανάπτυξη λύσεων του Microsoft Office με το Visual Studio .NET
317109Εφαρμογή του Office δεν κλείνει μετά αυτοματισμού από πρόγραμμα-πελάτη του Visual Studio .NET

Ιδιότητες

Αναγν. άρθρου: 830519 - Τελευταία αναθεώρηση: Πέμπτη, 27 Φεβρουαρίου 2014 - Αναθεώρηση: 1.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Word 2002 Standard Edition
  • Microsoft Outlook 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Word 2000 Standard Edition
  • Microsoft Outlook 2000 Standard Edition
  • Microsoft .NET Framework 1.1
  • Microsoft Visual Studio .NET 2003 Professional Edition
  • Microsoft Visual Studio .NET 2003 Enterprise Architect
  • Microsoft Visual Studio .NET 2003 Academic Edition
Λέξεις-κλειδιά: 
kbnosurvey kbarchive kbnofix kbbug kbmt KB830519 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:830519

Αποστολή σχολίων

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com