Excel VBA:超簡単な文字列の暗号化と復号化の方法|コード掲載

Excel VBAで行う簡単な文字列の暗号化と復号化です。重要な情報には勿論、使用できません。



Homeに戻る > Excel 数値・文字列・検索・印刷のTipsへ

簡単な暗号化ですが、プログラム関係に詳しくなければ解読は難しいかと思います。

会社の機密情報や顧客情報などの重要なデータには使用できませんが、人に見られたくない程度の本人情報ならば十分です。

暗号化の方法は、文字をASCIIコードに変換し指定数を加算します、これで元の文字は分かりません。

復号化の方法は暗号化とは逆に、指定数を減算すれば元に文字に戻ります。

ASCIIコードとは、数字やアルファベットの文字コードのことです。


ASCIIコードを文字に変換するには、Asc関数を使用します。

構文

Asc(string)

string:文字列を指定します。

戻り値:文字列の先頭の文字の文字コードの数値が返ります。


Asc関数で変換した文字コードを文字に変換するにはChr関数を使用します。

構文

Chr(num)

num:文字コードを指定します。


関連する「パスワードを設定し暗号化する方法」も掲載しています参照してください。



Excel VBAで文字列を暗号化と復号化するコードの解説

暗号化するVBA コード

  1. コマンドボタン1のクリックイベントで実行します。
  2. Forで文字列の長さだけループします。
  3. Mid関数で1文字だけ取り出します。
  4. Asc関数で文字コードに変換し、マイナス5します。
  5. Chr関数で文字に戻します。
  6. 変換した文字列をメッセージボックスで表示します。

復号化するVBAコード

  1. コマンドボタン2のクリックイベントで実行します。
  2. Forで文字列の長さだけループします。
  3. Mid関数で1文字だけ取り出します。
  4. Asc関数で文字コードに変換し、プラス5します。
  5. Chr関数で文字に戻します。
  6. 変換した文字列をメッセージボックスで表示します。

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