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

Η υποστήριξη για το Office 2003 έχει διακοπεί

Η Microsoft διέκοψε την υποστήριξη για το Office 2003 στις 8 Απριλίου 2014. Αυτή η αλλαγή επηρέασε τις ενημερώσεις λογισμικού και τις επιλογές ασφαλείας σας. Μάθετε τι σημαίνει αυτό για εσάς και το πώς θα προστατευτείτε.

ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.

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

back to the top

Δημιουργήστε τη βιβλιοθήκη κλάσης .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 FunctionEnd Class						

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

Δημιουργήστε μια 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					
back to the top

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

  1. Στο διακομιστήΕργαλείαμενού, κάντε κλικ στο κουμπίΜακροεντολές. Στη λίστα των μακροεντολών, κάντε κλικ στο κουμπίTestCrypto, και στη συνέχεια κάντε κλικ στο κουμπίΕκτέλεση.
  2. Εάν εμφανιστεί ένα πλαίσιο μηνύματος που δείχνει την κρυπτογραφημένη συμβολοσειρά, κάντε κλικ στο κουμπίOk. Ένα δεύτερο πλαίσιο μηνύματος εμφανίζεται που δείχνει το αποκρυπτογραφημένο συμβολοσειράς.
  3. Εάν η βιβλιοθήκη κλάσης πρέπει να καταχωρηθεί σε έναν άλλο υπολογιστή που εκτελεί το .NET Framework, αντιγράψτε το αρχείο DLL του συστήματος και εκτελέστε την ακόλουθη εντολή:
    /tlb:CryptoClass.tlb CryptoClass.dll regasm
back to the top
Αναφορές
Για πρόσθετες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft (Knowledge Base):
301070ΔΙΑΔΙΚΑΣΙΕΣ: Κρυπτογράφηση και αποκρυπτογράφηση ενός αρχείου με χρήση της Visual Basic .NET
Για περισσότερες πληροφορίες, ανατρέξτε στην ακόλουθη τοποθεσία της Microsoft Developer Network (MSDN) στο Web:back to the top
Crypto vba

Προειδοποίηση: Αυτό το άρθρο έχει μεταφραστεί αυτόματα

Ιδιότητες

Αναγνωριστικό άρθρου: 317535 - Τελευταία αναθεώρηση: 12/07/2015 08:53:47 - Αναθεώρηση: 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

  • kbnosurvey kbarchive kbcrypt kbsecurity kbhowtomaster kbmt KB317535 KbMtel
Σχόλια
ERROR: at System.Diagnostics.Process.Kill() at Microsoft.Support.SEOInfrastructureService.PhantomJS.PhantomJSRunner.WaitForExit(Process process, Int32 waitTime, StringBuilder dataBuilder, Boolean isTotalProcessTimeout)