dポイントプレゼントキャンペーン実施中!

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


よろしくお願いします。

A 回答 (2件)

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



そのようなものは作らなければありませんよ。
作るための確認です。
パスワードとは読み取りパスワードのことですね?
すべて同じ読み取りパスワードが設定されたエクセルのファイルが特定のフォルダー内に大量にあるのですね?
それらのファイルの読み取りパスワードをすべて無しにしたいのですね?
以上の前提が正しければ以下の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)を選択して実行します。
    • good
    • 18
この回答へのお礼

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

詳しく説明して頂きありがとうございました。

お礼日時:2011/06/09 15:26

そこまで分かっているなら、ツールをつくってしまいなさい。


そこまでわかっているなら、簡単に作れます。
    • good
    • 1
この回答へのお礼

作成できました。

ありがとうございました。

お礼日時:2011/06/09 15:26

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています