Page 1 of 1

ขอคำแนะนำ VBA code เมื่อเปิดไฟล์ให้แสดงหน้าUserformเพื่อLoginเลย

Posted: Thu Aug 18, 2022 11:13 pm
by pro602
ผมอยากให้เวลาเปิดไฟล์ Excel แล้วให้แสดงหน้าFormLogin เลย เมื่อใส่ User/Password แล้วค่อยแสดงSheet ต่างๆตามที่ให้สิทธิ แบบนี้สามารถทำได้ไหมครับ ผมลองใส่ Code ที่ Thisworkbook ตามด้านล่างนี้เวลาเปิดไฟล์ก็ยังไม่แสดงหน้า Userform สำหรับ Login ได้เลยครับ ขอคำแนะนำหน่อยครับผม
๊User:Test
Pass:111111

Code: Select all

Private Sub Workbook_Open()
frmLogin.Show
End Sub

Re: ขอคำแนะนำ VBA code เมื่อเปิดไฟล์ให้แสดงหน้าUserformเพื่อLoginเลย

Posted: Fri Aug 19, 2022 2:02 am
by snasui
:D ผมทดลองแล้วมีการเปิด UserForm ให้ Login ตามที่เขียนไว้ครับ

กรณีที่เปิดแล้วโปรแกรมไม่แสดง UserForm แสดงว่าเครื่องนั้นมีการ Protect Macro เอาไว้ก็เป็นได้ หากนำไปเปิดที่เครื่องอื่น ก่อนที่จะเปิดไฟล์ให้ไปที่ File Explorer > คลิกขวาที่ไฟล์นั้น > Properties > เลือก Unblock > Apply > OK เสียก่อนครับ

หากเปิดในเครื่องที่เขียนไฟล์ กดแป้น Alt+F, T เพื่อเปิดหน้าต่าง Excel Options > Trust Center > Trust Center Settings > Macro Settings > กำหนดเป็น Enable > OK > OK

Re: ขอคำแนะนำ VBA code เมื่อเปิดไฟล์ให้แสดงหน้าUserformเพื่อLoginเลย

Posted: Fri Aug 19, 2022 10:02 am
by pro602
snasui wrote: Fri Aug 19, 2022 2:02 am :D ผมทดลองแล้วมีการเปิด UserForm ให้ Login ตามที่เขียนไว้ครับ

กรณีที่เปิดแล้วโปรแกรมไม่แสดง UserForm แสดงว่าเครื่องนั้นมีการ Protect Macro เอาไว้ก็เป็นได้ หากนำไปเปิดที่เครื่องอื่น ก่อนที่จะเปิดไฟล์ให้ไปที่ File Explorer > คลิกขวาที่ไฟล์นั้น > Properties > เลือก Unblock > Apply > OK เสียก่อนครับ

หากเปิดในเครื่องที่เขียนไฟล์ กดแป้น Alt+F, T เพื่อเปิดหน้าต่าง Excel Options > Trust Center > Trust Center Settings > Macro Settings > กำหนดเป็น Enable > OK > OK
ผมทดลองปรับตั้งค่าตามที่อาจารย์ได้แนะนำมาพอเปิดไฟล์ขึ้นมาก็ยังแสดงหน้า Sheet main เหมือนเดิมครับไม่แสดงหน้า Userform เลย (Microsoft office2016) มีจุดไหนที่ผมต้องไปตรวจเช็คเพิ่มเติมครับ

Re: ขอคำแนะนำ VBA code เมื่อเปิดไฟล์ให้แสดงหน้าUserformเพื่อLoginเลย

Posted: Fri Aug 19, 2022 1:12 pm
by snasui
:D ลองเข้าไปเช็ค Event โดยการกดแป้น Alt+F11, Ctrl+G จากนั้นคีย์ ?application.enableevents > Enter แล้วสังเกตคำตอบว่าเป็น True หรือ False หากเป็น False ต้องกำหนดให้เป็น True โดยคีย์ตำแหน่งเดิมเป็น application.enabnableevents = true ครับ

Re: ขอคำแนะนำ VBA code เมื่อเปิดไฟล์ให้แสดงหน้าUserformเพื่อLoginเลย

Posted: Fri Aug 19, 2022 1:29 pm
by pro602
snasui wrote: Fri Aug 19, 2022 1:12 pm :D ลองเข้าไปเช็ค Event โดยการกดแป้น Alt+F11, Ctrl+G จากนั้นคีย์ ?application.enableevents > Enter แล้วสังเกตคำตอบว่าเป็น True หรือ False หากเป็น False ต้องกำหนดให้เป็น True โดยคีย์ตำแหน่งเดิมเป็น application.enabnableevents = true ครับ
ผมลองทำตามตำแนะนำแล้วครับคำตอบที่ได้เป็น True ครับ...แต่เวลาเปิดไฟล์ก็ยังแสดงผลเหมือนเดิมครับ
ผมทำตามที่อาจารย์แนะนำถูกใช่ไหมครับ?

Re: ขอคำแนะนำ VBA code เมื่อเปิดไฟล์ให้แสดงหน้าUserformเพื่อLoginเลย

Posted: Fri Aug 19, 2022 2:02 pm
by pro602
pro602 wrote: Fri Aug 19, 2022 1:29 pm
snasui wrote: Fri Aug 19, 2022 1:12 pm :D ลองเข้าไปเช็ค Event โดยการกดแป้น Alt+F11, Ctrl+G จากนั้นคีย์ ?application.enableevents > Enter แล้วสังเกตคำตอบว่าเป็น True หรือ False หากเป็น False ต้องกำหนดให้เป็น True โดยคีย์ตำแหน่งเดิมเป็น application.enabnableevents = true ครับ
ผมลองทำตามตำแนะนำแล้วครับคำตอบที่ได้เป็น True ครับ...แต่เวลาเปิดไฟล์ก็ยังแสดงผลเหมือนเดิมครับ
ผมทำตามที่อาจารย์แนะนำถูกใช่ไหมครับ?
ตอนที่จะ View Code ที่ Thisworkbook จะแสดงผลช้ามากครับ จะค้างเหมือนในรูปที่แนบมาแตถ้าต้อง View code ที่ชีทอื่นหรือที่ Module จะแสดงcode ได้ตามปกติ ปัญหานี้จะเกิดจากตรงไหนได้บ้างครับหรือผมมีการเขียน Code ผิดวิธีที่ Module

Re: ขอคำแนะนำ VBA code เมื่อเปิดไฟล์ให้แสดงหน้าUserformเพื่อLoginเลย

Posted: Fri Aug 19, 2022 10:22 pm
by snasui
:D เป็นเช่นนี้ทุกไฟล์หรือเฉพาะไฟล์นี้ไฟล์เดียวครับ

ลองนำไปเปิดที่เครื่องอื่น ๆ ดูว่าเป็นเช่นนี้หรือไม่ หากเครื่องอื่นปกติแต่เป็นที่เครื่องนี้ก็จะได้มั่นใจว่าโปรแกรมจะมีปัญหา อาจะต้อง Repair หรือ Install ตัวสมบูรณ์ลงไปใหม่ครับ

Re: ขอคำแนะนำ VBA code เมื่อเปิดไฟล์ให้แสดงหน้าUserformเพื่อLoginเลย

Posted: Sat Aug 20, 2022 9:19 am
by pro602
snasui wrote: Fri Aug 19, 2022 10:22 pm :D เป็นเช่นนี้ทุกไฟล์หรือเฉพาะไฟล์นี้ไฟล์เดียวครับ

ลองนำไปเปิดที่เครื่องอื่น ๆ ดูว่าเป็นเช่นนี้หรือไม่ หากเครื่องอื่นปกติแต่เป็นที่เครื่องนี้ก็จะได้มั่นใจว่าโปรแกรมจะมีปัญหา อาจะต้อง Repair หรือ Install ตัวสมบูรณ์ลงไปใหม่ครับ
ผมทดลองเปิดไฟล์เทียบการเข้า View Code เทียบ2ไฟล์ในเครื่องที่ผมใช้งานอยู่พบปัญหาในการมี View Code ที่ Thisworkbook แค่ไฟล์เดียวครับ คือไฟล์ทีผมแนบมาสอบถามปัญหาการใช้งานครับ รบกวนอาจารย์ช่วยแนะนำจุดที่ควรแก้ไขหรือสาเหตุของปัญหานี้ให้ผมหน่อยครับจะได้นำไปเป็นแนวทางในการนำไปเขียนใช้งาน สำหรับ codeที่ใช้งานในไฟล์นี้อยู่ส่วนใหญ่ก็จะเป็นการศึกษาและหาข้อมูลนำCode จากหลายๆตัวอย่างในเว็ปมาผสมกันใช้งานครับ

Re: ขอคำแนะนำ VBA code เมื่อเปิดไฟล์ให้แสดงหน้าUserformเพื่อLoginเลย

Posted: Sat Aug 20, 2022 8:50 pm
by snasui
pro602 wrote: Sat Aug 20, 2022 9:19 am รบกวนอาจารย์ช่วยแนะนำจุดที่ควรแก้ไขหรือสาเหตุของปัญหานี้ให้ผมหน่อยครับจะได้นำไปเป็นแนวทางในการนำไปเขียนใช้งาน สำหรับ codeที่ใช้งานในไฟล์นี้อยู่ส่วนใหญ่ก็จะเป็นการศึกษาและหาข้อมูลนำCode จากหลายๆตัวอย่างในเว็ปมาผสมกันใช้งานครับ
:D ผมจะไม่สามารถแนะนำได้หากผมเปิดแล้วไม่พบว่าเกิดปัญหาเดียวกัน และแม้จะพบปัญหาเดียวกันก็ไม่แน่ว่าจะแก้ไขได้ด้วย การที่โปรแกรมแสดงมุมมองของ Code ช้าไม่มี Option ให้กำหนดในเรื่องนี้ว่าให้เปิดเร็วหรือช้าแต่อย่างใดครับ ลองทดสอบสร้างไฟล์ใหม่โดยการ Copy Code เดิมไปใช้งานแล้วสังเกตดูว่าช้าเช่นเดิมหรือไม่ครับ