• ベストアンサー

Excelのパスワードを自動入力にしたい。

エクセルで30個のファイルがあります。 すべてのファイルにパスワードを付けているのですが、 同じパスワードになります。 そこで、いちいち入力するのが面倒なので、 自動入力かショートカットキーのようなもので 入力できないかと、フリーソフトを探しています。 なにかご存知の方、いらっしゃたらお教えください。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

こんばんは。 #3さんの >外部リンクを持つシートがアクティブになった際に、あらかじめ見えない状態で外部シートをVBAから開いておきます(もちろんパスワードを指定しているので、パスワードを聞かれることもありません)。 それは、どんな方法でしょうね。 あらかじめ見えない状態で外部シートをVBAから開いておき、外部リンクを持つシートがアクティブになった時に、見えるようにする、ということでしょうか?「見えるようにする」ことも、「見えない状態」ということも、私には良く分りません。オブジェクトとしておくということでしょうか? ユーザーが、何を開くかとこと自体が、はっきりしていない以上、30個ものオブジェクトを置くことは物理的に不可能だと思います。また、HyperlinksイベントやWorkbook Openイベントよりも、先に、Application イベントが、パスワードダイアログを出しますから、たとえ、クラス・イベントでも出来ないと思います。 私が考えた方法は、例えば、オプションボタンを用意することでしょうね。 ダブルクリック・イベントなどは、若い人ならともかく、年配の人には使いづらいです。 '<標準モジュール> '----------------------------------- Dim myOPbtns As Collection Sub Auto_Open  Call SettingClass End If Sub SettingClass() 'OptionButton のクラス化セッティング用 Dim obj As OLEObject Dim myClass1 As Class1 Set myOPbtns = New Collection 'Sheet1 を想定しています。 For Each obj In Sheet1.OLEObjects   If TypeOf obj.Object Is MSForms.OptionButton Then   Set myClass1 = New Class1   Set myClass1.myOptionButton = obj.Object   myOPbtns.Add myClass1   End If Next End Sub Sub s_OpenMyBook(Fname As String, PassWord As String)   'ブックオープン用のサブルーチン   Dim wb As Workbook   If Fname Like "全ブッククローズ*" Then    For Each wb In Workbooks      If wb.Name <> ThisWorkbook.Name Then       wb.Save       wb.Close , False      End If    Next    Else    For Each wb In Workbooks     If wb.Name Like Fname Then       Exit Sub     End If    Next    Workbooks.Open Fname, , , , PassWord   End If End Sub '<Class1 モジュール> '----------------------------------- Public WithEvents myOptionButton As MSForms.OptionButton Private Sub myOptionButton_Click() Dim Fname As String Const MYPASSWD As String = "aa" 'パスワード  Fname = myOptionButton.TopLeftCell.Offset(, 1).Value  If Fname Like "*.xls" Or Fname Like "全ブッククローズ" Then   s_OpenMyBook Fname, MYPASSWD  End If End Sub '----------------------------------- シートには、以下のようにオプションボタンをつける。(コントロールツール) 注意、オプションボタンのセルの隣にファイル名を入れる ただし、全ブッククローズというのは、キーワードです。  A    B ○    AAA.xls ○    BBB.xls ○    全ブッククローズ

その他の回答 (3)

noname#34921
noname#34921
回答No.3

リンク元のシートから、外部ファイルを開くときにVBAを利用すればファイルオープンパスワードを指定して自動化できます。 手順としては、外部リンクを持つシートがアクティブになった際に、あらかじめ見えない状態で外部シートをVBAから開いておきます(もちろんパスワードを指定しているので、パスワードを聞かれることもありません)。 ユーザーが当該ファイルへのリンクをクリックした際に読込済みの外部ファイルを表示すればOKです。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 全体像が見えてきませんね。 >ファイルは、リンクが設定されていたりするので他のファイルから参照する時もあるのです。 ご高齢の方でなくても、それは不便ですよね。なぜ、そのように使うブックに常時パスワードをつけなくてはならないのかっていうような、回答の前の段階の疑問が湧いてくるのですが。一括で、パスワードの開け閉めを責任者の方がしてもよいなら、VBAマクロで行いますが。 パスワードを自動入力するようなものは、ネットではともかく、Winの中で働くものは聞いたことがないし、作るとなると、Windows画面のアプリケーションのCaption とかを判定にするから、汎用性のツールというのはないと思いますね。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

全ファイルをファイル圧縮して一括パスワード設定で如何でしょうか。 WinXPなら「送る」→「圧縮(zip形式)フォルダ」でファイル作成後、フォルダオープン→ファイル→パスワード追加で簡単に一括設定できます。

RYUHO
質問者

お礼

お返事ありがとうございます。 せっかくですが、実はパスワードを設定している ファイルは、リンクが設定されていたりするので 他のファイルから参照する時もあるのです。 それに、高齢の方々が使うので簡単な方が都合が 良いのです(^^; すみません、何かあったらまた教えてください。

関連するQ&A