標題:
[發問]
自動解開活頁簿設定的密碼 (不要跳出視窗來)
[打印本頁]
作者:
chiang0320
時間:
2017-9-19 12:06
標題:
自動解開活頁簿設定的密碼 (不要跳出視窗來)
[attach]27750[/attach]
[attach]27751[/attach]
共有兩個檔案
活頁簿1抓取活頁簿2
活頁簿有設定密碼保護
請問如何使用VBA自動解開活頁簿設定的密碼,不要跳出視窗來需人工按掉,謝謝!
(PS: 密碼是已知的情況 PASSWORD: 122333 )
作者:
prin.huang
時間:
2017-9-19 14:22
網路上查來的
Application.DisplayAlerts = False
Workbooks.Open "BOOK2.XLS的檔案路徑", WriteResPassword:="1234"
作者:
chiang0320
時間:
2017-9-19 15:48
回復
2#
prin.huang
試過這個程式碼,仍會跳出輸入密碼的視窗
作者:
Hsieh
時間:
2017-9-20 11:54
回復
3#
chiang0320
假設兩檔案在同目錄下
Workbooks.Open ThisWorkbook.Path & "\活頁簿2.xlsx", Password:="122333"
作者:
ikboy
時間:
2017-9-20 11:55
try this:
Sub zz()
Dim ar, b(), d As Object, f, k, t
Set d = CreateObject("scripting.dictionary")
ar = Sheets(1).[b1048576].End(3).CurrentRegion.Value
For i = 1 To UBound(ar)
d(ar(i, 1)) = ""
Next
f = Application.GetOpenFilename
If f = "Fasle" Or f = "" Then Exit Sub
Application.ScreenUpdating = 0
Workbooks.Open Filename:=f, Password:="122333"
ar = Sheets(1).[b1048576].End(3).CurrentRegion.Value
ReDim b(UBound(ar, 2) - 1)
ActiveWorkbook.Close 0
For i = 1 To UBound(ar)
If d.exists(ar(i, 1)) Then
For j = 1 To UBound(ar, 2)
b(j - 1) = ar(i, j)
Next
d(ar(i, 1)) = b
End If
Next
t = d.items
Sheets(1).[b1].End(4).Select
Sheets(1).[b1].End(4).Resize(d.Count, UBound(ar, 2)) = Application.Transpose(Application.Transpose(t))
Application.ScreenUpdating = 1
End Sub
複製代碼
作者:
chiang0320
時間:
2017-9-20 14:21
回復
4#
Hsieh
Hsieh 版主 謝謝!
已經不會跳出視窗
作者:
chiang0320
時間:
2017-9-20 14:52
回復
4#
Hsieh
請問Hsieh 版主
假如兩個檔案在不同資料夾,我放路徑會顯示錯誤,找不到路徑位置,要怎麼修改?謝謝!
Workbooks.Open ThisWorkbook.Path & "C:\Users\C0001\Desktop\自動解開工作簿設定的密碼\活頁簿2.xlsx", Password:="122333"
作者:
chiang0320
時間:
2017-9-20 16:50
回復
7#
chiang0320
自己有試出來了如下,謝謝版主
'依據路徑,打開總表檔案
MMMpath = Sheets("檔案路徑").Range("D6").Value
Workbooks.Open MMMpath & "\活頁簿2.xlsx", Password:="122333"
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)