パスワードの設定されたエクセルファイルをVBAで開こうとすると、パスワードの入力画面が表示されてしまいます。
パスワードもVBAで自動入力し、パスワード入力画面を表示せずにエクセルファイルを開く方法になります。「読み取りパスワード」と「書き込みパスワード」2つの指定方法があります。
読み取りパスワードを指定して開く
Workbooks.Openメソッドの後に、Password:=”パスワード”と指定すると、読み取りパスワードが設定されたファイルを開くことができます。
コード
1 2 3 4 5 6 7 |
'開くエクセルファイルを管理する変数 Dim openExcelFile As Workbook '読み取りパスワードを指定して開く Set openExcelFile = Workbooks.Open("C:\エクセル用フォルダ\てすと1.xlsx", Password:="Test") |
解説
5行目で読み取りパスワードを指定して、エクセルファイルを開いています。
項目 | 内容 |
---|---|
ファイルの場所 | C:\エクセル用フォルダ |
ファイル名 | てすと1.xlsx |
パスワード | Test |
書き込みパスワードを指定して開く
Workbooks.Openメソッドの後に、WriteResPassword:=”パスワード”と指定すると、書き込みパスワードが設定されたファイルを開くことができます。
コード
1 2 3 4 5 6 7 |
'開くエクセルファイルを管理する変数 Dim openExcelFile As Workbook '書き込みパスワードを指定して開く Set openExcelFile = Workbooks.Open("C:\エクセル用フォルダ\てすと2.xlsx", WriteResPassword:="Test") |
解説
5行目で書き込みパスワードを指定して、エクセルファイルを開いています。
項目 | 内容 |
---|---|
ファイルの場所 | C:\エクセル用フォルダ |
ファイル名 | てすと2.xlsx |
パスワード | Test |
注意すること
パスワードは大文字・小文字を区別するので、コーディングミスに注意しましょう
逆に、パスワードを設定してエクセルファイルを保存したい場合は、下のページを参考にしてください。
https://excel-toshokan.com/vba-save-password/