問題がある場合、ソリューションは Excel 2003 以降で機能する必要があります。
Excel VBA については、CAPICOM ライブラリを使用することをお勧めします。
ここからファイルをダウンロードします。インストールしたら、次の手順に従って Dll を登録します。
32ビットOS
ファイル Capicom.dll を から にコピーしますC:\Program Files\Microsoft CAPICOM 2.1.0.2 SDK\Lib
。C:\Windows\System32
スタート メニューの次へ| 実行して、これを入力します
Regsvr32 C:\Windows\System32\Capicom.dll
64 ビット OS
ファイル Capicom.dll を から にコピーしますC:\Program Files (x86)\Microsoft CAPICOM 2.1.0.2 SDK\Lib\X86
。C:\Windows\SysWOW64
スタート メニューの次へ| 実行して、これを入力します
Regsvr32 C:\Windows\SysWOW64\Capicom.dll
これで、VBA プロジェクトで使用するように設定されました
このコードをモジュールに貼り付けます
Option Explicit
Sub Sample()
Dim TextToEncrypt As String, EncryptedText As String
Dim TextToDeCrypt As String, DeCryptedText As String
Dim KeyToEncrypt As String
TextToEncrypt = "Hello World"
KeyToEncrypt = "JoshMagicWord"
EncryptedText = EncryptString(TextToEncrypt, KeyToEncrypt)
DeCryptedText = DecryptString(EncryptedText, KeyToEncrypt)
Debug.Print "The string " & TextToEncrypt & " after encryption looks like this"
Debug.Print "-----------------------------------------------------------------"
Debug.Print EncryptedText
Debug.Print "-----------------------------------------------------------------"
Debug.Print "The above string after decrypting looks like this"
Debug.Print "-----------------------------------------------------------------"
Debug.Print DeCryptedText
End Sub
Public Function EncryptString(strText As String, ky As String) As String
Dim Cap As Object
Dim cryptIt
Set Cap = CreateObject("CAPICOM.EncryptedData")
Cap.Algorithm = 3
Cap.SetSecret ky
Cap.Content = strText
EncryptString = Cap.Encrypt
End Function
Public Function DecryptString(strText As String, ky As String) As String
Dim Cap As Object
Dim cryptIt
Set Cap = CreateObject("CAPICOM.EncryptedData")
Cap.Algorithm = 3
Cap.SetSecret ky
Cap.Decrypt strText
DecryptString = Cap.Content
End Function
関数EncryptString
は文字列を暗号化し、関数は文字列をDecryptString
復号化します。上記を実行すると、結果のスナップショットが表示されますSub Sample