| 
    
     |  | ▼かば さん: >はじめまして。
 >パスワード付ファイルのオープン方法で質問なんです。
 >
 >読み取りパスワードが掛かっているファイル(ファイルB)を他のファイル(ファイルA)から開く際に、Openメソッドの引数に、パスワードを指定して開くことができるかと思います。
 >この場合のパスワードの指定なんですが、引数として直接パスワードを記載するのではなく、ファイルAを開く際に入力するパスワードを指定したい、つまり、Openメソッドの引数のパスワードを動的に扱いたいのですが可能でしょうか?
 >(ファイルAとファイルBのパスワードは常に同じという前提です。)
 >
 >試しに、ActiveWorkbook.Password を引数として指定してみたんですが、うまくいかなかったです。。。
 >
 >どなたか、ご教授の程、よろしくお願い致します!
 
 どうしてそんなことが必要なのかは別として、パスワードを
 インプットボックスなどで変数として受け取って、ファイルAのパスワードであれば、
 ファイルBのパスワードとして変換し、Openの引数として渡したらいかがでしょう。
 自動的にパスワードを動的に変換したいということであれば、ごめんなさい。
 
 Sub WB_Open()
 Dim myPSwd As String
 
 myPSwd = Application.InputBox(パスワードを入力してください, "パスワード入力")
 If myPSwd = "ABCD" Then  'ファイルAのパスワード
 myPSwd = "12345"    'ファイルBのパスワード
 Else
 MsgBox "パスワードが違います"
 Exit Sub
 End If
 Workbooks.Open Filename:=ThisWorkbook.Path & "\" & "ファイルB.xls", Password:=myPSwd
 End Sub
 
 |  |