Excelで既知のパスワードを外すマクロ

Pocket

他人から定期的にパスワード付きのExcelファイルが送信されるようなケースはよくあると思います。
よく使うパスワードをあらかじめセットしておき、マクロを使って開く方法を考えます。

コードは下に示す通りです。
配列「known_passwords」にパスワードを記述しておきます。行を増やすときは括弧の数字を一つずつ増やします。
「Dim known_passwords(10) As String」の数値は配列の最大値です。大きめの数値にしておくとよいでしょう。
実行すると「ファイルを開く」ダイアログが開きます。ここで開きたいファイルを指定します。
記述しておいたパスワードを順番に試していきます。合致する文字列があればほぼ一瞬で開くでしょう。

Sub 既知のファイルパスワードを外す()
    Dim known_passwords(10) As String
    'パスワードリスト
    known_passwords(0) = "password"
    known_passwords(1) = "123456"
    known_passwords(2) = "password"
    known_passwords(3) = "admin"
   
    Dim try_password As String
    Dim try_number As Long
    Dim file_name
    On Error GoTo errorlabel
    file_name = Application.GetOpenFilename
    If file_name = False Then Exit Sub
    try_password = known_passwords(0)
    try_number = 0
    Workbooks.Open Filename:=file_name, Password:=try_password
    Exit Sub
errorlabel:
    try_number = try_number + 1
    try_password = known_passwords(try_number)
    If try_number >= UBound(known_passwords) Then
        MsgBox "開けませんでした。"
        Exit Sub
    End If
    Resume
End Sub

[ 2014年2月4日 | カテゴリー: Excel | タグ: , ]

« | »

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報