Quote Originally Posted by pichartyapan View Post
ผิดที่ตรงนี้ครับ
สังเกตุว่าชื่อไฟล์ที่เขียนใน sub workbook_open() ไม่ตรงกับชื่อของไฟล์ครับ
ใน workbook_open() เป็นอย่างนี้
Sub Workbook_Open()


If Left(Range("A1"), 4) = "Auto" Then Exit Sub
Application.Run "'Service Tech Perf_FY2012.xlsm'!ReportCounter"

แต่ชื่อไฟล์เป็นอย่างนี้ครับ
Sub Workbook_Open()


If Left(Range("A1"), 4) = "Auto" Then Exit Sub
Application.Run "'Service_Tech_Perf_FY2012_TEST.xlsm'!ReportCounter"

ผมลองแก้เป็นตามนี้แล้ว จะสามารถ auto run (open) ผ่านครับ...

ลองปรับแก้ดูครับ
นอกนั้นยังสังเกตุว่า ตามที่คุณบอกเมื่อมีการ เปิดไฟล์ผ่านไฟล์แนบโดย internet จะเปิดไม่ได้ น่าจะเป็นเพราะทุกครั้งที่เปิดไฟล์ชื่อเดิมใน temp folder ของการ download จะเกิด (1), (2), (3),... วงเล็บ 1 สอง ไปเรื่อย ๆ การจะใช้
Application.Run "'Service_Tech_Perf_FY2012_TEST.xlsm'!ReportCounter"
ทำให้ต้องคอยเปลี่ยนชื่อไฟล์ เป็น Application.Run "'Service_Tech_Perf_FY2012_TEST (1).xlsm'!ReportCounter" หรือ Application.Run "'Service_Tech_Perf_FY2012_TEST (2).xlsm'!ReportCounter"...เรื่อยไป

ผมจึงเสนอให้ลองใช้ call ReportCounter แทนน่าจะดีกว่า ไม่ต้องอ้างถึง file name จะได้แบบนี้ครับ
Private Sub Workbook_Open()
If Left(Range("A1"), 4) = "Auto" Then Exit Sub
Call ReportCounter

ลองดูครับ