Excel VBA:超簡単な文字列の暗号化と復号化の方法|コード掲載
Excel VBAで行う簡単な文字列の暗号化と復号化です。重要な情報には勿論、使用できません。
Homeに戻る >
Excel 数値・文字列・検索・印刷のTipsへ
簡単な暗号化ですが、プログラム関係に詳しくなければ解読は難しいかと思います。
会社の機密情報や顧客情報などの重要なデータには使用できませんが、人に見られたくない程度の本人情報ならば十分です。
暗号化の方法は、文字をASCIIコードに変換し指定数を加算します、これで元の文字は分かりません。
復号化の方法は暗号化とは逆に、指定数を減算すれば元に文字に戻ります。
ASCIIコードとは、数字やアルファベットの文字コードのことです。
ASCIIコードを文字に変換するには、Asc関数を使用します。
構文
Asc(string)
string:文字列を指定します。
戻り値:文字列の先頭の文字の文字コードの数値が返ります。
Asc関数で変換した文字コードを文字に変換するにはChr関数を使用します。
構文
Chr(num)
num:文字コードを指定します。
関連する「パスワードを設定し暗号化する方法」も掲載しています参照してください。
Excel VBAで文字列を暗号化と復号化するコードの解説
暗号化するVBA コード
- コマンドボタン1のクリックイベントで実行します。
- Forで文字列の長さだけループします。
- Mid関数で1文字だけ取り出します。
- Asc関数で文字コードに変換し、マイナス5します。
- Chr関数で文字に戻します。
- 変換した文字列をメッセージボックスで表示します。
復号化するVBAコード
- コマンドボタン2のクリックイベントで実行します。
- Forで文字列の長さだけループします。
- Mid関数で1文字だけ取り出します。
- Asc関数で文字コードに変換し、プラス5します。
- Chr関数で文字に戻します。
- 変換した文字列をメッセージボックスで表示します。
Option Explicit
Private ango As String
'Excel VBAで暗号化
Private Sub CommandButton1_Click()
Dim i As Integer
Dim s1 As String
'暗号化する文字
ango = "Excel Ninpou"
For i = 1 To Len(ango)
'ASCIIコードから5を引く
s1 = s1 & Chr(Asc(Mid(ango, i, 1)) - 5)
Next
'暗号化された文字
ango = s1
MsgBox ango
End Sub
'Excel VBAで複合
Private Sub CommandButton2_Click()
Dim i As Integer
Dim s1 As String
For i = 1 To Len(ango)
'ASCIIコードに5を足す
s1 = s1 & Chr(Asc(Mid(ango, i, 1)) + 5)
Next
'複合化された文字
ango = s1
MsgBox ango
End Sub
実行結果のExcelシート
■暗号化
「Excel Ninpou」を暗号化した結果、文字化けしたよう文字が表示されています。
■復号化
復号化した結果、元の「Excel Ninpou」の文字が表示できました。
Homeに戻る >
Excel 数値・文字列・検索・印刷のTipsへ■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します
Copyright (c) Excel-Excel ! All rights reserved