ΔΙΑΔΙΚΑΣΙΕΣ: Κλήση μιας βιβλιοθήκης κλάσης .NET της Visual Basic από τη Visual Basic for Applications στο Microsoft Office

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

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

Περίληψη

Χρησιμοποιήστε αυτόν τον οδηγό βήμα προς βήμα για να καλέσετε μια βιβλιοθήκη κλάσης .NET από τη Visual Basic for Applications. Αυτό το δείγμα παρουσιάζει πώς ενός προγράμματος Visual Basic for Applications θα μπορεί να χρησιμοποιεί μια βιβλιοθήκη κλάσης Visual Basic .NET για την κρυπτογράφηση και αποκρυπτογράφηση μιας συμβολοσειράς. Μπορείτε να χρησιμοποιήσετε το χώρο ονομάτων κρυπτογράφησης που συμπεριλαμβάνεται με το .NET Framework, για την κρυπτογράφηση/αποκρυπτογράφηση.

Δημιουργήστε τη βιβλιοθήκη κλάσης .NET της Visual Basic

  1. Ξεκινήστε το Microsoft Visual Studio .NET. Στο διακομιστήFILEμενού, σημείοΝέα, και στη συνέχεια κάντε κλικ στο κουμπίΤο έργο. underΈργα της Visual BasicΕπιλογήΒιβλιοθήκη κλάσης. Το όνομα της κλάσηςCryptoClassκαι κάντε κλικ στο κουμπίOk. Class1 δημιουργείται από προεπιλογή.
  2. Αντικατάσταση των περιεχομένων τουClass1με τον ακόλουθο κώδικα:

    Imports System.Security.Cryptography
    
    <ComClass(Class1.ClassId, Class1.InterfaceId, Class1.EventsId)> Public Class Class1
        Public Const ClassId As String = "98349785-8BE2-4604-848D-F5B103D61715"
        Public Const InterfaceId As String = "36613EE9-125F-493d-9968-771E18C2226A"
        Public Const EventsId As String = "A036F02F-F87E-4548-A536-7DD7EA8E62B5"
    
        Const sKey As String = "MyKey"
    
        Public Function EncryptTripleDES(ByVal sIn As String) As String
            Dim DES As New TripleDESCryptoServiceProvider()
            Dim hashMD5 As New MD5CryptoServiceProvider()
    
            ' Compute the MD5 hash.
            DES.Key = hashMD5.ComputeHash(System.Text.ASCIIEncoding.ASCII.GetBytes(sKey))
            ' Set the cipher mode.
            DES.Mode = CipherMode.ECB
            ' Create the encryptor.
            Dim DESEncrypt As ICryptoTransform = DES.CreateEncryptor()
            ' Get a byte array of the string.
            Dim Buffer As Byte() = System.Text.ASCIIEncoding.ASCII.GetBytes(sIn)
            ' Transform and return the string.
            Return Convert.ToBase64String(DESEncrypt.TransformFinalBlock(Buffer, 0, Buffer.Length))
        End Function
    
        Public Function DecryptTripleDES(ByVal sOut As String) As String
            Dim DES As New TripleDESCryptoServiceProvider()
            Dim hashMD5 As New MD5CryptoServiceProvider()
    
            ' Compute the MD5 hash.
            DES.Key = hashMD5.ComputeHash(System.Text.ASCIIEncoding.ASCII.GetBytes(sKey))
            ' Set the cipher mode.
            DES.Mode = CipherMode.ECB
            ' Create the decryptor.
            Dim DESDecrypt As ICryptoTransform = DES.CreateDecryptor()
            Dim Buffer As Byte() = Convert.FromBase64String(sOut)
            ' Transform and return the string.
            Return System.Text.ASCIIEncoding.ASCII.GetString(DESDecrypt.TransformFinalBlock(Buffer, 0, Buffer.Length))
        End Function
    End Class
    						

    ΣΗΜΕΙΩΣΗΜπορείτε να χρησιμοποιήσετε τη διαδικασία δημιουργίας GUID για τη δημιουργία νέου GUID για το ClassId, InterfaceId και EventsId. Για να δημιουργήσετε νέο GUID, κάντε κλικ στο κουμπίΔημιουργία GUIDΣτο διακομιστήΕργαλείαΜενού (Menu).
  3. Από το φάκελοΙδιότητες έργουΕπιλογήΙδιότητες παραμέτρων. Κάντε κλικΔημιουργίακαι, στη συνέχεια, επιλέξτε τοΑρχείο καταχωρήσεων για διαλειτουργικότηταΠλαίσιο ελέγχου. Κάντε κλικOk.
  4. Στο διακομιστήΔημιουργίαμενού, κάντε κλικ στο κουμπίΔημιουργία λύσεωνΓια να δημιουργήσετε το αρχείο DLL.

Δημιουργήστε μια Visual Basic for Applications μακροεντολής για την κλήση της βιβλιοθήκης κλάσης .NET

  1. StartMicrosoft Excel. (Close and Return to Microsoft Excel.). Πατήστε το συνδυασμό πλήκτρων ALT+F11, για να ξεκινήσει η Επεξεργασία της Visual Basic (Visual Basic Editor).
  2. Στο διακομιστήINSERTμενού, κάντε κλικ στο κουμπίModuleΓια να εισαγάγετε μια κενή λειτουργική μονάδα.
  3. Στο διακομιστήΕργαλείαμενού, κάντε κλικ στο κουμπίΑναφορές. Προσθέστε μια αναφορά για τοCryptoClassβιβλιοθήκης και κάντε κλικ στοOk.
  4. Πληκτρολογήστε ή επικολλήστε τον ακόλουθο κώδικα στο παράθυρο κώδικα Module1:
    Sub TestCrypto()
      Dim oCrypto As New CryptoClass.Class1
      Dim sCrypt As String
      
      sCrypt = oCrypto.EncryptTripleDES("This is a test")
      MsgBox "Encrypted text = " & sCrypt
      MsgBox "Decrypted text = " & oCrypto.DecryptTripleDES(sCrypt)
    End Sub
    					

Ελέγξτε τον κωδικό

  1. Στο διακομιστήΕργαλείαμενού, κάντε κλικ στο κουμπίΜακροεντολές. Στη λίστα των μακροεντολών, κάντε κλικ στο κουμπίTestCrypto, και στη συνέχεια κάντε κλικ στο κουμπίΕκτέλεση.
  2. Εάν εμφανιστεί ένα πλαίσιο μηνύματος που δείχνει την κρυπτογραφημένη συμβολοσειρά, κάντε κλικ στο κουμπίOk. Ένα δεύτερο πλαίσιο μηνύματος εμφανίζεται που δείχνει το αποκρυπτογραφημένο συμβολοσειράς.
  3. Εάν η βιβλιοθήκη κλάσης πρέπει να καταχωρηθεί σε έναν άλλο υπολογιστή που εκτελεί το .NET Framework, αντιγράψτε το αρχείο DLL του συστήματος και εκτελέστε την ακόλουθη εντολή:
    /tlb:CryptoClass.tlb CryptoClass.dll regasm

Αναφορές

Για πρόσθετες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft (Knowledge Base):
301070ΔΙΑΔΙΚΑΣΙΕΣ: Κρυπτογράφηση και αποκρυπτογράφηση ενός αρχείου με χρήση της Visual Basic .NET
Για περισσότερες πληροφορίες, ανατρέξτε στην ακόλουθη τοποθεσία της Microsoft Developer Network (MSDN) στο Web:
.aspx http://msdn2.Microsoft.com/en-us/library/aa188489 (office.10)

Ιδιότητες

Αναγν. άρθρου: 317535 - Τελευταία αναθεώρηση: Τρίτη, 21 Δεκεμβρίου 2010 - Αναθεώρηση: 2.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Office PowerPoint 2003
  • Microsoft PowerPoint 2002 Standard Edition
  • Microsoft Visual Studio .NET 2003 Professional Edition
  • Microsoft Word 2002 Standard Edition
  • Microsoft Visual Studio .NET 2002 Professional Edition
Λέξεις-κλειδιά: 
kbcrypt kbsecurity kbhowtomaster kbmt KB317535 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:317535

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

 

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