Page 1 of 1

สอบถาม VBA สั่ง Share Workbook

Posted: Mon May 20, 2019 12:03 pm
by sakajohn
ผมต้องการเขียนคำสั่ง ให้ปลดล็อกการแชร์ไฟล์งาน และสั่งให้แชร์ไฟล์งาน โดยใช้คำสั่ง Macro ครับ

Code: Select all

Sub Unlock_click()
Workbooks("shareworkbook.xlsx").Activate
ActiveWorkbook.ExclusiveAccess
    ActiveSheet.Unprotect Password:="1234"
End Sub

Code: Select all

Sub Lock_Click()
Workbooks("shareworkbook.xlsx").Activate
ActiveSheet.Protect Password:="1234"
    ActiveWorkbook.KeepChangeHistory = True
    ActiveWorkbook.SaveAs Filename:="C:\Users\ACCOUNT\Documents\shareworkbook.xlsx", _
        FileFormat:=xlOpenXMLWorkbook, AccessMode:=xlShared
    With ActiveWorkbook
        .AutoUpdateFrequency = 5
        .AutoUpdateSaveChanges = True
    End With
End Sub
ปัญหาคือ จะต้องคอย กด YES เพื่อปลดล๊อกการแชร์ และ ตอนจะสั่งแชร์ไฟล์ก็จะต้องกด YES อีกเหมือนกัน
ถ้าต้องการให้ run อัตโนมัติต้องแก้ไขตรงไหนครับ

Re: สอบถาม VBA สั่ง Share Workbook

Posted: Mon May 20, 2019 6:02 pm
by snasui
:D ตัวอย่าง Code ครับ

Code: Select all

Sub Unlock_click()
    Application.DisplayAlerts = False
    Workbooks("shareworkbook.xlsx").Activate
    ActiveWorkbook.ExclusiveAccess
        ActiveSheet.Unprotect Password:="1234"
    Application.DisplayAlerts = True
End Sub

Sub Lock_Click()
    Application.DisplayAlerts = False
    Workbooks("shareworkbook.xlsx").Activate
    ActiveSheet.Protect Password:="1234"
    ActiveWorkbook.KeepChangeHistory = True
    ActiveWorkbook.SaveAs Filename:="C:\Users\ACCOUNT\Documents\shareworkbook.xlsx", _
        FileFormat:=xlOpenXMLWorkbook, AccessMode:=xlShared
    With ActiveWorkbook
        .AutoUpdateFrequency = 5
        .AutoUpdateSaveChanges = True
    End With
    Application.DisplayAlerts = True
End Sub