Page 1 of 1
ใช้ Macro unprotect workbook แบบไม่ต้องใส่ Password
Posted: Fri Oct 30, 2015 11:45 am
by imomotaro
ผมมีไฟล์ 2 ไฟล์ ไฟล์แรก ทำปุ่มมาโครไว้คลิกเพื่อปลดล็อครหัส อีกไฟล์หนึ่ง แต่ผมอยากให้มันไม่ต้องการให้ขึ้นพิมพ์ Password ผมจะแก้โค๊ด ยังไงครับ ไม่รู้เรื่องเลย ลองแกะโค๊ดมา ตั้ง Password ไว้ "1234" รบกวนหน่อยครับ
Code: Select all
Sub UnProtected()
Dim FileName, FileDir, FileSearch As String
FileDir = "D:\Ex\Ex1.xlsx" '
FileName = Dir(FileDir)
Workbooks.Open FileName:=FileDir
Workbooks(FileName).Unprotect "1234"
End Sub
Re: ใช้ Macro unprotect workbook แบบไม่ต้องใส่ Password
Posted: Fri Oct 30, 2015 5:59 pm
by DhitiBank
ลองปรับตรงปลดล็อคชีทเป็นแบบนี้ดูครับ
Code: Select all
Workbooks(FileName).Unprotect Password:="1234"
Re: ใช้ Macro unprotect workbook แบบไม่ต้องใส่ Password
Posted: Sat Oct 31, 2015 11:02 am
by imomotaro
ขอบคุณครับ แต่ยังขึ้นให้ใส่ Password อยู่ครับ
Re: ใช้ Macro unprotect workbook แบบไม่ต้องใส่ Password
Posted: Sat Oct 31, 2015 11:28 am
by snasui

ปรับ Code จาก
Workbooks.Open FileName:=FileDir เป็น
Workbooks.Open FileName:=FileDir, Password:="1234" ครับ
ตัวอย่าง
Code: Select all
Sub UnProtected()
Workbooks.Open FileName:="D:\Ex\Ex1.xlsx", Password:="1234"
End Sub
Re: ใช้ Macro unprotect workbook แบบไม่ต้องใส่ Password
Posted: Sat Oct 31, 2015 3:43 pm
by imomotaro
snasui wrote:
ปรับ Code จาก
Workbooks.Open FileName:=FileDir เป็น
Workbooks.Open FileName:=FileDir, Password:="1234" ครับ
ตัวอย่าง
Code: Select all
Sub UnProtected()
Workbooks.Open FileName:="D:\Ex\Ex1.xlsx", Password:="1234"
End Sub
ผมลองพอดีใส่ WriteResPassword เข้าได้เลยครับ ขอบคุณมากครับ
Code: Select all
Sub UnProtected()
Workbooks.Open FileName:="D:\Ex\Ex1.xlsx", Password:="1234", WriteResPassword:="1234"
End Sub
Re: ใช้ Macro unprotect workbook แบบไม่ต้องใส่ Password
Posted: Sat Oct 31, 2015 3:56 pm
by imomotaro
รบกวนอีกเรื่องครับ มีโค๊ดดึงข้อมูลข้าม Workbook แต่ Workbook ติด Password
Code: Select all
Sub sbADO()
Dim sSQLQry As String
Dim ReturnArray
Dim Conn As New ADODB.Connection
Dim mrs As New ADODB.Recordset
Dim DBPath As String, sconnect As String
DBPath = "D:\Ex\Ex1.xlsx"
sconnect = "Provider=MSDASQL.1;DSN=Excel Files;DBQ=" & DBPath & ";HDR=Yes';"
Conn.Open sconnect
sSQLSting = "SELECT * From [DataSheet$]"
mrs.Open sSQLSting, Conn
Worksheets("Sheet1").Range("A2").CopyFromRecordset mrs
mrs.Close
Conn.Close
End Sub
ถ้าจะนำโค๊ดนี้มาประยุกต์ใช้อย่างไรดีครับ
Code: Select all
Sub UnProtected()
Workbooks.Open FileName:="D:\Ex\Ex1.xlsx", Password:="1234", WriteResPassword:="1234"
End Sub
Re: ใช้ Macro unprotect workbook แบบไม่ต้องใส่ Password
Posted: Sat Oct 31, 2015 4:55 pm
by snasui

Code ที่เขียนมาล่าสุดเป็นการดึงข้อมูลโดยไม่จำเป็นต้องเปิดไฟล์ ในกรณีหากมีการป้องกันไว้ไม่สามารถ Access ได้ด้วย Connection String ส่วน Code ก่อนหน้าจะต้องเปิดไฟล์ขึ้นมาก่อนเพื่อที่จะใส่ Password ปลดการ Lock
การทำงานกับไฟล์ที่มีการ Lock ให้เขียนเปิดไฟล์ขึ้นมาก่อนแล้วใส่ Password ที่ถูกต้องแล้วค่อยทำงานตามต้องการแล้วค่อยปิดไฟล์ครับ
Re: ใช้ Macro unprotect workbook แบบไม่ต้องใส่ Password
Posted: Mon Nov 02, 2015 8:33 am
by imomotaro
ขอบคุณมากครับ
