Page 1 of 1
ขอสูตรปรับปรุง VBA ไฟล์เข้าเบิกค่ะ
Posted: Mon Jan 21, 2019 9:57 pm
by keay44
เรียน อาจาร์ย และผู้มีความรู้
จะขอคำแนะนำลองหัดทำ popup ให้ขึ้น หน้าจอ Login ในงานเบิกของออฟฟิต เนื่องจากAudit มาตรวจงานบ่อยและพบว่าในไฟล์ excle การเบิกจำเป็นจะต้องใส่ Login เพื่อไม่ให้บุคคลอื่นเข้ามา และให้หาวิธีป้องกันไม่ให้ Copy งานในส่วนต่างๆในชีทบางชีท เท่านั้น
สิ่งที่ต้องการ
1. หนูลองเขียนCode มาแต่ติดปัญหาเวลาไม่ได้ใส่ user หรือรหัสผ่าน แค่เรากดกากบาทปิด สามารถเข้าไปในไฟล์ได้เลย (ต้องนี้แก้ไขโค๊ดได้อย่างไร ให้เวลากดรหัสผิด3 ครั้ง หรือกดกากบาทปิดให้หน้าจอปิดอัตโนมัต)
2. ในไฟล์งานหากมีคนแอบใส่รหัสเข้ามาทางpopup ได้ แต่เราจะป้องกันอีกขั้นไม่ให้ชีท ที่ชื่อว่า ข้อมูลลูกค้า ถูก Copy ข้อมูลไปเราสามารถป้องกันโดยแก้ไขใส่โค๊ดเพิ่มเติมอีกชั้นได้หรือไหม แก้ไขป้องกันได้อย่างไร
Code: Select all
Private Sub CommandButton1_Click()
Dim usermame, password As String
UserName = TextBox1.Text
password = TextBox2.Text
If UserName = "ppp" And password = "054" Then
MsgBox " Hello welcome "
Unload Me
Else
MsgBox "username or password error,can not access!!!!!"
ActiveWorkbook.Close
End If
End Sub
*** User ppp
***Pass 054
Re: ขอสูตรปรับปรุง VBA ไฟล์เข้าเบิกค่ะ
Posted: Tue Jan 22, 2019 6:39 am
by snasui
keay44 wrote: Mon Jan 21, 2019 9:57 pm
1. หนูลองเขียนCode มาแต่ติดปัญหาเวลาไม่ได้ใส่ user หรือรหัสผ่าน แค่เรากดกากบาทปิด สามารถเข้าไปในไฟล์ได้เลย (ต้องนี้แก้ไขโค๊ดได้อย่างไร ให้เวลากดรหัสผิด3 ครั้ง หรือกดกากบาทปิดให้หน้าจอปิดอัตโนมัต)

ดูตัวอย่างได้จากโพสต์นี้ครับ
VBA ป้องกันการปิด user form ไปเฉยๆ โดยไม่ใส่ค่าครับ
keay44 wrote: Mon Jan 21, 2019 9:57 pm
2. ในไฟล์งานหากมีคนแอบใส่รหัสเข้ามาทางpopup ได้ แต่เราจะป้องกันอีกขั้นไม่ให้ชีท ที่ชื่อว่า ข้อมูลลูกค้า ถูก Copy ข้อมูลไปเราสามารถป้องกันโดยแก้ไขใส่โค๊ดเพิ่มเติมอีกชั้นได้หรือไหม แก้ไขป้องกันได้อย่างไร
ชีตใดที่เราไม่ต้องการให้เห็นสามารถซ่อนชีตเอาไว้ได้ด้วยการป้องกันระดับ Workbook (เมนู Review > Protect Workbook) หากจะปลดการป้องกันต้องใส่ Password ครับ เมื่อเห็นชีตจะสามารถ Copy เอาไปได้ไม่ว่าจะด้วยการ Capture หน้าจอหรือด้วยการใช้ Code แม้ว่าจะป้องกันเอาไว้แล้วครับ
เราสามารถการป้องกันได้แค่ระดับหนึ่ง เป็นการป้องกันผู้ใช้งานทั่วไป อาจจะไม่สามารถป้องกันผู้ที่มี Add-ins สำหรับการถอดรหัส Workbook, Worksheet และ VBA Project ถ้าจะป้องกันให้ได้ผลดีขึ้นให้เพิ่มการป้องกันในขั้นตอนการเปิดไฟล์ หากใส่รหัสไม่ถูกต้องก็เปิดไฟล์ไม่ได้ครับ
การป้องกันการเปิดไฟล์ให้เข้าเมนู File > Save As > ในหน้าต่าง Save As เลือก Tools > General Options > ระบุ Password ที่ป้องกันการเปิดไฟล์ > ระบุซ้ำ และเราจะต้องไม่ลืม Password นั้นเอง

Re: ขอสูตรปรับปรุง VBA ไฟล์เข้าเบิกค่ะ
Posted: Sun Jan 27, 2019 11:06 pm
by keay44
snasui wrote: Tue Jan 22, 2019 6:39 am
keay44 wrote: Mon Jan 21, 2019 9:57 pm
1. หนูลองเขียนCode มาแต่ติดปัญหาเวลาไม่ได้ใส่ user หรือรหัสผ่าน แค่เรากดกากบาทปิด สามารถเข้าไปในไฟล์ได้เลย (ต้องนี้แก้ไขโค๊ดได้อย่างไร ให้เวลากดรหัสผิด3 ครั้ง หรือกดกากบาทปิดให้หน้าจอปิดอัตโนมัต)

ดูตัวอย่างได้จากโพสต์นี้ครับ
VBA ป้องกันการปิด user form ไปเฉยๆ โดยไม่ใส่ค่าครับ
keay44 wrote: Mon Jan 21, 2019 9:57 pm
2. ในไฟล์งานหากมีคนแอบใส่รหัสเข้ามาทางpopup ได้ แต่เราจะป้องกันอีกขั้นไม่ให้ชีท ที่ชื่อว่า ข้อมูลลูกค้า ถูก Copy ข้อมูลไปเราสามารถป้องกันโดยแก้ไขใส่โค๊ดเพิ่มเติมอีกชั้นได้หรือไหม แก้ไขป้องกันได้อย่างไร
ชีตใดที่เราไม่ต้องการให้เห็นสามารถซ่อนชีตเอาไว้ได้ด้วยการป้องกันระดับ Workbook (เมนู Review > Protect Workbook) หากจะปลดการป้องกันต้องใส่ Password ครับ เมื่อเห็นชีตจะสามารถ Copy เอาไปได้ไม่ว่าจะด้วยการ Capture หน้าจอหรือด้วยการใช้ Code แม้ว่าจะป้องกันเอาไว้แล้วครับ
เราสามารถการป้องกันได้แค่ระดับหนึ่ง เป็นการป้องกันผู้ใช้งานทั่วไป อาจจะไม่สามารถป้องกันผู้ที่มี Add-ins สำหรับการถอดรหัส Workbook, Worksheet และ VBA Project ถ้าจะป้องกันให้ได้ผลดีขึ้นให้เพิ่มการป้องกันในขั้นตอนการเปิดไฟล์ หากใส่รหัสไม่ถูกต้องก็เปิดไฟล์ไม่ได้ครับ
การป้องกันการเปิดไฟล์ให้เข้าเมนู File > Save As > ในหน้าต่าง Save As เลือก Tools > General Options > ระบุ Password ที่ป้องกันการเปิดไฟล์ > ระบุซ้ำ และเราจะต้องไม่ลืม Password นั้นเอง
ขอบคุณมากๆค่ะ อาจารย์
Re: ขอสูตรปรับปรุง VBA ไฟล์เข้าเบิกค่ะ
Posted: Sun Jan 27, 2019 11:09 pm
by keay44
รบกวนสอบถามเพิ่มเติมความรู้
ปรับโค๊ด ให้ userform1 ช่องที่ให้คีย์ password ให้แสดงสถานะเวลาคีย์รหัส **** แทนตัวเลขรหัส จะปรับโค๊ดอย่างไรบ้างค่ะ
Code: Select all
Private Sub CommandButton1_Click()
Dim usermame, password As String
UserName = TextBox1.Text
password = TextBox2.Text
If UserName = "ppp" And password = "054" Then
MsgBox " Hello welcome "
Unload Me
Else
MsgBox "username or password error,can not access!!!!!"
ActiveWorkbook.Close
End If
End Sub
Re: ขอสูตรปรับปรุง VBA ไฟล์เข้าเบิกค่ะ
Posted: Sun Jan 27, 2019 11:40 pm
by puriwutpokin
keay44 wrote: Sun Jan 27, 2019 11:09 pm
รบกวนสอบถามเพิ่มเติมความรู้
ปรับโค๊ด ให้ userform1 ช่องที่ให้คีย์ password ให้แสดงสถานะเวลาคีย์รหัส **** แทนตัวเลขรหัส จะปรับโค๊ดอย่างไรบ้างค่ะ
Code: Select all
Private Sub CommandButton1_Click()
Dim usermame, password As String
UserName = TextBox1.Text
password = TextBox2.Text
If UserName = "ppp" And password = "054" Then
MsgBox " Hello welcome "
Unload Me
Else
MsgBox "username or password error,can not access!!!!!"
ActiveWorkbook.Close
End If
End Sub
ดูที่ TextBox properties, there is a property
called PasswordChar, set this to
* ตามรูปใส่เป็น ดอกจันทร์ครับ
Re: ขอสูตรปรับปรุง VBA ไฟล์เข้าเบิกค่ะ
Posted: Mon Jan 28, 2019 11:07 pm
by keay44
puriwutpokin wrote: Sun Jan 27, 2019 11:40 pm
keay44 wrote: Sun Jan 27, 2019 11:09 pm
รบกวนสอบถามเพิ่มเติมความรู้
ปรับโค๊ด ให้ userform1 ช่องที่ให้คีย์ password ให้แสดงสถานะเวลาคีย์รหัส **** แทนตัวเลขรหัส จะปรับโค๊ดอย่างไรบ้างค่ะ
Code: Select all
Private Sub CommandButton1_Click()
Dim usermame, password As String
UserName = TextBox1.Text
password = TextBox2.Text
If UserName = "ppp" And password = "054" Then
MsgBox " Hello welcome "
Unload Me
Else
MsgBox "username or password error,can not access!!!!!"
ActiveWorkbook.Close
End If
End Sub
ดูที่ TextBox properties, there is a property
called PasswordChar, set this to
* ตามรูปใส่เป็น ดอกจันทร์ครับ
ขอบคุณมากๆค่ะ