マクロブックとは別の保護のあるブックにマクロを適用する方法

マクロブックとは別のブックに読み取りパスワードが設定されていて、そのブックに対してマクロブックのマクロを実行したいです。

Sub test3()
Dim wb1 As Workbook

Workbooks(“C:\temp\test4.xlsx”).Unprotect Password:=“test”

Set wb1 = Workbooks.Open(“C:\temp\test4.xlsx”)

wb1.Worksheets(“Sheet1”).Range(“A1”).Value = “test2”

End Sub

上記の方法はうまくいかず「インデックスが有効範囲にありません」というエラーになります。
解決策が全くわからず困っているので対処方法について教えていただけませんでしょうか。

このコマンドの第6パラメタにパスワードを記載してみては?

https://docs.microsoft.com/ja-jp/office/vba/api/excel.workbooks.open

どのように記載したらいいでしょうか?

Set wb1 = Workbooks.Open(“C:\temp\test4.xlsx”):=password “test”

上記では文法エラーになってしまいました。

Set wb1 = Workbooks.Open(“C:\temp\test4.xlsx”、、、、“test”)

位置は確認してくださいねm(__)m

カンマの連続だと省略されてしまうようなので、句点にしています

1 Like

できました。
openメソッドを使う際にパスワードをどう指定したらいいかわかりませんでしたがカンマで区切って指定するんですね。
ネットで調べても外部Excelに対する保護解除の方法はどこにも見つからず、あきらめかけていたので本当に助かりました。
この度はありがとうございました。

1 Like

外部EXCELと言うよりは、EXCEL-VBA関連ネタでしたね(^^♪

また困ったら、おいでください。

1 Like

UiPathと関係のないことをお聞きしてしまい失礼しました。
大変助かりました。
ありがとうございます。
また教えていただけたらうれしいです。

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.