CARA: Panggilan Visual Basic.NET kelas perpustakaan dari Visual Basic untuk aplikasi dalam Microsoft Office

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 317535 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Menggunakan panduan langkah demi langkah untuk memanggil.NET kelas perpustakaan dari Visual Basic for Applications. Contoh ini menunjukkan bagaimana Visual Basic untuk Program aplikasi dapat menggunakan Visual Basic.NET kelas perpustakaan untuk mengenkripsi dan mendekripsi string. Anda dapat menggunakan namespace kriptografi, termasuk dalam.NET Kerangka, untuk enkripsi/dekripsi.

Menciptakan Visual Basic.NET kelas perpustakaan

  1. Mulai Microsoft Visual Studio.NET. Pada Berkas menu, titik Baru, lalu klik Project. Di bawah Proyek-proyek Visual Basic, pilih Perpustakaan kelas. Nama kelas CryptoClass dan klik Oke. Class1 dibuat secara default.
  2. Mengganti isi Class1 dengan kode berikut:

    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
    						

    Catatan Anda dapat menggunakan GUID generator untuk menghasilkan GUID baru untuk ClassId, InterfaceId, dan EventsId. Untuk menghasilkan GUID baru, klik Membuat GUID pada Alat menu.
  3. Dari Properti proyek, pilih Konfigurasi properti. Klik Bangun kemudian pilih Mendaftar untuk COM Interopkotak centang. Klik Oke.
  4. Pada Bangun menu, klik Membangun solusi untuk membuat DLL.

Membuat Visual Basic untuk aplikasi makro panggilan.NET kelas perpustakaan

  1. Mulai Microsoft Excel. Tekan ALT+F11 untuk memulai Editor Visual Basic.
  2. Pada Masukkan menu, klik Modul untuk memasukkan sebuah modul yang kosong.
  3. Pada Alat menu, klik Referensi. Menambahkan referensi ke CryptoClass Perpustakaan dan klik Oke.
  4. Ketik atau tempel kode berikut dalam kode Module1 jendela:
    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
    					

Menguji kode

  1. Pada Alat menu, klik Makro. Dalam daftar makro, klik TestCrypto, lalu klik Menjalankan.
  2. Jika kotak pesan muncul menampilkan string yang terenkripsi, Klik Oke. Kotak pesan kedua muncul menampilkan dekripsi string.
  3. Jika perpustakaan kelas perlu terdaftar lain komputer yang menjalankan.NET Framework, salin DLL untuk sistem dan menjalankan perintah berikut:
    regasm CryptoClass.dll /tlb:CryptoClass.tlb

REFERENSI

Untuk informasi tambahan, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
301070CARA: Mengenkripsi dan mendekripsi berkas dengan menggunakan Visual Basic.NET
Untuk selengkapnya, lihat Microsoft berikut Situs Web Developer Network (MSDN):
.aspx http://msdn2.Microsoft.com/en-us/library/aa188489 (office.10)

Properti

ID Artikel: 317535 - Kajian Terakhir: 24 September 2011 - Revisi: 2.0
Berlaku bagi:
  • 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
  • Microsoft Visual Studio .NET 2002 Professional Edition
Kata kunci: 
kbcrypt kbsecurity kbhowtomaster kbmt KB317535 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:317535

Berikan Masukan

 

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