• ベストアンサー
  • 困ってます

エクセル(excel)のパスワード解除について

  • 質問No.6796439
  • 閲覧数4933
  • ありがとう数7
  • 回答数2

お礼率 100% (2/2)

パスワードがかかっているエクセルのファイルが大量にあり、
パスワードもなにかわかっていてるのですが、いちいち開くときにパスワードを入力するのが大変です。
(ちなみに、パスワードはすべて同じです。)
そこで、一括してパスワードを解除するファイルがあれば教えて頂きたいです。


よろしくお願いします。

質問者が選んだベストアンサー

  • 回答No.2
  • ベストアンサー

ベストアンサー率 48% (1930/4007)

> 一括してパスワードを解除するファイルがあれば教えて頂きたいです。

そのようなものは作らなければありませんよ。
作るための確認です。
パスワードとは読み取りパスワードのことですね?
すべて同じ読み取りパスワードが設定されたエクセルのファイルが特定のフォルダー内に大量にあるのですね?
それらのファイルの読み取りパスワードをすべて無しにしたいのですね?
以上の前提が正しければ以下のVBAを標準モジュールに記載したエクセルファイルを、必ず解除したいファイルがあるフォルダー内に保存してください。

標準モジュールに記載する方法は
1.新しいエクセルを開き、AltキーとF11キー同時に押し(以下Alt+F11キーと記述)て Visual Basic Editor を呼び出します。
2.Visual Basic Editor のメニューから「挿入」、「標準モジュール」で出てきたコードウィンド(右側の白い広い部分)に以下のコード(Sub~End Sub)をコピペします。

Sub TEST01()
  Dim myFn As String
  Dim pw As String
  Dim wb As Workbook '以上変数宣言
  pw = InputBox("解除する読み取りパスワードを入力してね。")
  Application.ScreenUpdating = False '画面更新一時停止
  myFn = Dir(ThisWorkbook.Path & "\*.xls?") 'エクセルBOOK検索
  Do While myFn <> "" '対象が存在する限り続行
    If myFn <> ThisWorkbook.Name Then 'ファイル名が自分の名と違っていれば
      Set wb = Workbooks.Open(ThisWorkbook.Path & "\" & myFn, Password:=pw) '開く
      With wb
        Application.DisplayAlerts = False '警告一時停止
        .SaveAs Filename:=wb.FullName, Password:="" 'パスワードなしで上書保存
        .Close False '閉じる
        Application.DisplayAlerts = True '警告停止解除
      End With
    End If
    myFn = Dir() '次検索
  Loop '繰り返し
  Application.ScreenUpdating = True '画面更新停止解除
  MsgBox "終了しました。"
End Sub

3.Alt+F11キーでワークシートへもどります。
4.解除対象となるファイルがある一フォルダー内に名前を付けて保存する。(パス取得のためマクロ実行前に必ず一度は「保存」してあることが必要です。)
5.Alt+F8キーで出てきたマクロ名(TEST01)を選択して実行します。
お礼コメント
zwast9999

お礼率 100% (2/2)

無事解除することができました。

詳しく説明して頂きありがとうございました。
投稿日時:2011/06/09 15:26

その他の回答 (全1件)

  • 回答No.1

ベストアンサー率 26% (12/45)

そこまで分かっているなら、ツールをつくってしまいなさい。
そこまでわかっているなら、簡単に作れます。
お礼コメント
zwast9999

お礼率 100% (2/2)

作成できました。

ありがとうございました。
投稿日時:2011/06/09 15:26
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ