NASıL YAPıLıR: Microsoft Office uygulamaları Visual Basic .NET Class Library Visual Basic'den Çağır

Makale çevirileri Makale çevirileri
Makale numarası: 317535 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Bu adım adım kılavuzda, bir .NET sınıf kitaplığının Visual Basic for Applications aramak için kullanın. Bu örnek, bir Visual Basic for Applications programı şifrelemek ve dize şifresini çözmek için bir Visual Basic .NET sınıf kitaplığının nasıl kullanacağınızı gösterir. .NET dahil şifreleme ad kullanabileceğiniz Framework, şifreleme/şifre çözme için.

Visual Basic .NET sınıf kitaplığı oluşturma

  1. Microsoft Visual Studio .NET'i başlatın. Dosya menüsünde Yeni ' nin üzerine gelin ve sonra Project ' i tıklatın. Visual Basic Projects altında Sınıf kitaplığı seçin. Sınıf CryptoClass adlandırın ve sonra Tamam ' ı tıklatın. Class1, varsayılan olarak oluşturulur.
  2. Class1 içeriğini aşağıdaki kodla değiştirin:

    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
    						

    Not GUID üreticisi, Classıd, ınterfaceıd ve EventsId için yeni bir Guıd oluşturmak için kullanabilirsiniz. Yeni bir Guıd oluşturmak için <a0></a0>, Araçlar menüsünden Oluştur GUID ' i tıklatın.
  3. Proje Özellikleri, Yapılandırma özellikleri ' ni seçin. Oluştur ' u tıklatın ve sonra da COM birlikte çalışma için kaydı seçin onay kutusu. Tamam ' ı tıklatın.
  4. Yapı) menüsünde, dll DOSYASıNı oluşturmak için Build Solution ' ı tıklatın.

Bir Visual Basic for Applications makrosu .NET sınıf kitaplığı arama oluşturma

  1. Microsoft Excel'i başlatın. Visual Basic Düzenleyicisi'ni başlatmak için ALT+F11 tuşlarına basın.
  2. Ekle menüsünde boş bir modül eklemek için modülü ' nü tıklatın.
  3. Araçlar menüsünde, Başvurular ' ı tıklatın. CryptoClass kitaplığa bir başvuru ekleyin ve Tamam ' ı tıklatın.
  4. Module1 kod penceresinde aşağıdaki kodu yapıştırın veya yazın:
    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
    					

Kod sınayın.

  1. Araçlar menüsünden makrolar ' ı tıklatın. Makroları listesini TestCrypto ' ı tıklatın ve sonra da <a2>Çalıştır</a2>'ı tıklatın.
  2. Şifrelenmiş dize gösteren bir ileti kutusu görüntülenirse, Tamam ' ı tıklatın. Şifresi çözülen dize gösteren ikinci BIR ileti kutusu görünür.
  3. Sınıf kitaplığı, .NET Framework çalıştıran başka bir bilgisayarda kayıtlı olması gerekiyorsa, DLL sisteme kopyalayın ve aşağıdaki komutu çalıştırın:
    RegAsm CryptoClass.dll /tlb:CryptoClass.tlb

Referanslar

Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
301070NASıL YAPıLıR: Şifreleme ve bir Visual Basic .NET kullanarak şifresini
Daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitesine bakın:
http://msdn2.microsoft.com/en-us/library/aa188489(office.10).aspx

Özellikler

Makale numarası: 317535 - Last Review: 29 Mart 2007 Perşembe - Gözden geçirme: 8.5
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Office PowerPoint 2003
  • Microsoft PowerPoint 2002 Standard Edition
  • Microsoft Office Word 2003
  • Microsoft Visual Studio .NET 2003 Professional Edition
  • Microsoft Word 2002 Standard Edition
  • Microsoft Visual Studio .NET 2002 Professional Edition
Anahtar Kelimeler: 
kbmt kbcrypt kbsecurity kbhowtomaster KB317535 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:317535

Geri Bildirim Ver

 

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