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

エクセルで30個のファイルがあります。
すべてのファイルにパスワードを付けているのですが、
同じパスワードになります。

そこで、いちいち入力するのが面倒なので、
自動入力かショートカットキーのようなもので
入力できないかと、フリーソフトを探しています。

なにかご存知の方、いらっしゃたらお教えください。

A 回答 (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
○    全ブッククローズ
    • good
    • 0

リンク元のシートから、外部ファイルを開くときにVBAを利用すればファイルオープンパスワードを指定して自動化できます。


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

    • good
    • 0

こんにちは。



全体像が見えてきませんね。

>ファイルは、リンクが設定されていたりするので他のファイルから参照する時もあるのです。

ご高齢の方でなくても、それは不便ですよね。なぜ、そのように使うブックに常時パスワードをつけなくてはならないのかっていうような、回答の前の段階の疑問が湧いてくるのですが。一括で、パスワードの開け閉めを責任者の方がしてもよいなら、VBAマクロで行いますが。

パスワードを自動入力するようなものは、ネットではともかく、Winの中で働くものは聞いたことがないし、作るとなると、Windows画面のアプリケーションのCaption とかを判定にするから、汎用性のツールというのはないと思いますね。
    • good
    • 0

全ファイルをファイル圧縮して一括パスワード設定で如何でしょうか。


WinXPなら「送る」→「圧縮(zip形式)フォルダ」でファイル作成後、フォルダオープン→ファイル→パスワード追加で簡単に一括設定できます。
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。
せっかくですが、実はパスワードを設定している
ファイルは、リンクが設定されていたりするので
他のファイルから参照する時もあるのです。

それに、高齢の方々が使うので簡単な方が都合が
良いのです(^^;

すみません、何かあったらまた教えてください。

お礼日時:2005/10/05 13:44

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