- ベストアンサー
Excelのパスワードを自動入力にしたい。
エクセルで30個のファイルがあります。 すべてのファイルにパスワードを付けているのですが、 同じパスワードになります。 そこで、いちいち入力するのが面倒なので、 自動入力かショートカットキーのようなもので 入力できないかと、フリーソフトを探しています。 なにかご存知の方、いらっしゃたらお教えください。
- みんなの回答 (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)
リンク元のシートから、外部ファイルを開くときにVBAを利用すればファイルオープンパスワードを指定して自動化できます。 手順としては、外部リンクを持つシートがアクティブになった際に、あらかじめ見えない状態で外部シートをVBAから開いておきます(もちろんパスワードを指定しているので、パスワードを聞かれることもありません)。 ユーザーが当該ファイルへのリンクをクリックした際に読込済みの外部ファイルを表示すればOKです。
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 全体像が見えてきませんね。 >ファイルは、リンクが設定されていたりするので他のファイルから参照する時もあるのです。 ご高齢の方でなくても、それは不便ですよね。なぜ、そのように使うブックに常時パスワードをつけなくてはならないのかっていうような、回答の前の段階の疑問が湧いてくるのですが。一括で、パスワードの開け閉めを責任者の方がしてもよいなら、VBAマクロで行いますが。 パスワードを自動入力するようなものは、ネットではともかく、Winの中で働くものは聞いたことがないし、作るとなると、Windows画面のアプリケーションのCaption とかを判定にするから、汎用性のツールというのはないと思いますね。
- mu2011
- ベストアンサー率38% (1910/4994)
全ファイルをファイル圧縮して一括パスワード設定で如何でしょうか。 WinXPなら「送る」→「圧縮(zip形式)フォルダ」でファイル作成後、フォルダオープン→ファイル→パスワード追加で簡単に一括設定できます。
お礼
お返事ありがとうございます。 せっかくですが、実はパスワードを設定している ファイルは、リンクが設定されていたりするので 他のファイルから参照する時もあるのです。 それに、高齢の方々が使うので簡単な方が都合が 良いのです(^^; すみません、何かあったらまた教えてください。