web-dev-qa-db-ja.com

VBAプロジェクトからパスワードを削除する

Excel VBAプロジェクトから(既知の)パスワードをプログラムで削除するにはどうすればよいですか?

明確にするために、ワークブックやワークシートではなく、VBAプロジェクトからパスワードを削除します。

49
Barry-Jon

これには、SendKeysを使用してVBAプロジェクトの保護を解除する簡単な方法があります。これによりプロジェクトが開始されるため、引き続きSendKeysを使用してパスワード保護を解除する方法を見つける必要があります。 http://www.pcreview.co.uk/forums/thread-989191 .php

そして、これは、保護を解除するために、より高度でやや信頼性の高い方法を使用するものです。この場合も、VBプロジェクトのみがロック解除されます。 http://www.ozgrid.com/forum/showthread.php?t=13006&page=2

私はどちらの方法も試していませんが、あなたがする必要がある場合、これはあなたの時間を節約するかもしれません...

9
Jon Fournier

VBAプロジェクトのパスワードを削除する別の方法は次のとおりです。

  • 16進エディターでxlsファイルを開きます。 (つまり、16進編集 http://www.hexedit.com/
  • DPBを検索
  • DPBをDPxに置き換える
  • ファイルを保存。
  • Excelでファイルを開きます。
  • メッセージボックスが表示されたら、[はい]をクリックします。
  • VBAプロジェクトプロパティから新しいパスワードを設定します。
  • ファイルを閉じて再度開き、新しいパスワードを入力して保護を解除します。

UPDATE:Excel 2010(MS Office Pro Plus 2010 [14.0.6023.1000 64bit]で動作)の場合、

  • 7ZipでXLSXファイルを開きます

ワークブックが保護されている場合:

  • フォルダーxlを参照します
  • ブックが保護されている場合は、workbook.xmlを右クリックしてEditを選択します
  • <workbookProtection workbookPassword="XXXX" lockStructure="1"/>XXXXは暗号化されたパスワードです)の部分を見つけます
  • XXXX部分を削除します。 (つまり、<workbookProtection workbookPassword="" lockStructure="1"/>
  • ファイルを保存します。
  • 7Zipからアーカイブの更新を求められたら、「Yes」と言います。
  • 7Zipを閉じて、XLSXを再度開きます。
  • レビュータブのワークブックの保護をクリックします。
  • オプション:ファイルを保存します。

ワークシートが保護されている場合:

  • xl/worksheets/フォルダーを参照します。
  • Sheet1.xmlsheet2.xmlなどを右クリックして、Editを選択します。
  • <sheetProtection password="XXXX" sheet="1" objects="1" scenarios="1" />部分を見つけます
  • 暗号化されたパスワード(つまり、<sheetProtection password="" sheet="1" objects="1" scenarios="1" />)を削除します
  • ファイルを保存します。
  • 7Zipからアーカイブの更新を求められたら、「Yes」と言います。
  • 7Zipを閉じて、XLSXを再度開きます。
  • レビュータブの保護解除シートをクリックします。
  • オプション:ファイルを保存します。
112
Uygar Y

Excelのパスワードを失うことなく、VBAプロジェクトのパスワードを回避するためにこれを解決する別の方法を見つけました。

プロセスにHex-editor XVI32を使用します

ファイルタイプがXLSMファイルの場合:

  1. 7-ZipでXLSMファイルを開きます(右クリック-> 7-Zip-> Open archive)。
  2. Xl/vbaProject.binファイルをファイルからコピーします(7-Zipからドラッグアンドドロップできます)。7-Zipは閉じないでください。
  3. HexEditでvbaProject.binファイルを開きます
  4. 「DPB =」を検索し、「DPx =」に置き換えます
  5. ファイルを保存する
  6. このファイルを7-Zipにコピーします(もう一度、ドラッグアンドドロップが機能します)
  7. ExcelでXLSXファイルを開き、「プロジェクトの読み込みを続行」のプロンプトが表示されたら、[はい]をクリックします。エラーが表示されたら、[OK]をクリックします。
  8. Alt + F11を押してVBAエディターを開きます。
  9. 押すと「予期しないエラー(40230)」というエラーが表示されますが、消えるまで[OK]を6回または7回クリックします。
  10. その後、自動的に開きます
12

私はこれを見つけました ここ VBAプロジェクトのパスワードを設定する方法を説明しています。これを変更して、VBAプロジェクトパスワードを設定解除できるはずです。

これはSendKeysを使用しません。

これが役立つかどうか教えてください! JFV

2
JFV