Page 1 of 3
ทำไม click code vba run แล้วไม่เปิดหน้า Browser BOT
Posted: Fri Apr 20, 2018 11:43 am
by March201711
สอบถามค่ะ ทำไม click code vba run แล้วไม่เปิดหน้า Browser BOT ให้คะ
Code: Select all
Sub OpenBrowseBOT()
Dim ie As Object
Set ie = CreateObject("Internetexplorer.Application")
ie.Visible = True
MsgBox " finished "
End Sub
Re: ทำไม click code vba run แล้วไม่เปิดหน้า Browser BOT
Posted: Fri Apr 20, 2018 11:51 am
by March201711
เอกสารแนบค่ะ
Click ปุ่มแล้ว ไม่โชว์หน้า web Exchange BOT ค่ะ เป็นรูปว่างเปล่า
ยังไงรบกวนช่วย โหลด file : Test1.xlsx แล้ว save as เป็น Test1.xlsm ด้วยนะคะ ขอบคุณค่ะ
Re: ทำไม click code vba run แล้วไม่เปิดหน้า Browser BOT
Posted: Fri Apr 20, 2018 6:39 pm
by snasui

ไฟล์ที่แนบมาไม่มี Macro ครับ
ไฟล์ที่จะมี Macro ได้จะต้องมีนามสกุลเป็น .xlsm เป็นอย่างน้อย หากเปลี่ยนนามสกุลเป็น .xlsx แล้ว Macro จะถูกลบทิ้ง หากจะให้มี Macro จะต้องเขียนหรือ Import เข้าไปใหม่ ไม่ใช่แค่การ Save As เป็น .xlsm ครับ
Re: ทำไม click code vba run แล้วไม่เปิดหน้า Browser BOT
Posted: Fri Apr 20, 2018 8:37 pm
by March201711
ทำใหม่แล้วค่ะ ตามที่แนบไปค่ะ
Re: ทำไม click code vba run แล้วไม่เปิดหน้า Browser BOT
Posted: Fri Apr 20, 2018 9:13 pm
by snasui

ตัวอย่าง Code ครับ
Code: Select all
Sub OpenBrowseBOT()
Dim ie As Object
Set ie = CreateObject("Internetexplorer.Application")
ie.Visible = True
ie.navigate "https://www.google.com"
MsgBox " finished "
End Sub
Re: ทำไม click code vba run แล้วไม่เปิดหน้า Browser BOT
Posted: Fri Apr 20, 2018 9:21 pm
by March201711
ไว้จะลองทำดูนะคะ ขอบคุณค่ะ
Re: ทำไม click code vba run แล้วไม่เปิดหน้า Browser BOT
Posted: Mon Apr 23, 2018 10:47 am
by March201711
Code: Select all
Sub OpenBrowseBOT()
Dim ie As Object
Set ie = CreateObject("Internetexplorer.Application")
ie.Visible = True
ie.navigate "https://www.bot.or.th/Thai/Statistics/FinancialMarkets/ExchangeRate/ExchangeRate_EN_PDF/ER_PDF_20042018.PDF"
MsgBox " finished "
End Sub
ตัวที่เป็นอักษรสีแดง " ER_PDF_20042018.PDF" ถ้าจะให้มัน run ตามวันที่ปัจจุบัน - 1 แล้วติดวันหยุดอีก 2 วัน เป็น -2 ต้องปรับ code อย่างไรบ้างคะ
เช่น ถ้าพรุ่งนี้เป็นวันที่ 24 เราเรียกข้อมูลจาก exhange rate BOT จะขึ้นเป็นวันที่ 23 ต้องเป็น "ER_PD_23042018.PDF" ค่ะ
Re: ทำไม click code vba run แล้วไม่เปิดหน้า Browser BOT
Posted: Mon Apr 23, 2018 9:54 pm
by snasui

หากถ้าปัจจุบันเป็นวันจันทร์, วันเสาร์ หรือ วันอาทิตย์ ต้องการให้ดึงข้อมูลวันไหนครับ

Re: ทำไม click code vba run แล้วไม่เปิดหน้า Browser BOT
Posted: Mon Apr 23, 2018 9:59 pm
by March201711
ให้ดึงข้อมูลวันศุกร์ค่ะ นับวันทำการในการทำงานค่ะ
เช่น พรุ่งนี้วันอังคารก็ให้ดึงข้อมูลวันจันทร์ ไปเรื่อยๆ พอถึงวันหยุดจะไม่นับค่ะ
Re: ทำไม click code vba run แล้วไม่เปิดหน้า Browser BOT
Posted: Mon Apr 23, 2018 10:30 pm
by snasui

ตัวอย่าง Code ครับ
Code: Select all
Sub OpenBrowseBOT()
Dim ie As Object, s As String, i As Integer
Select Case Weekday(Date, vbMonday)
Case 7
i = -2
Case 1
i = -3
Case Else
i = -1
End Select
s = Format(DateAdd("d", i, Date), "ddmmyyyy")
Set ie = CreateObject("Internetexplorer.Application")
ie.Visible = True
ie.navigate "https://www.bot.or.th/Thai/Statistics/FinancialMarkets/ExchangeRate/ExchangeRate_EN_PDF/ER_PDF_" & s & ".PDF"
MsgBox " finished "
End Sub
Re: ทำไม click code vba run แล้วไม่เปิดหน้า Browser BOT
Posted: Tue Apr 24, 2018 10:01 am
by March201711

ได้แล้วค่ะ ขอบคุณอาจารย์มากค่ะ

Re: ทำไม click code vba run แล้วไม่เปิดหน้า Browser BOT
Posted: Tue Apr 24, 2018 10:05 am
by March201711
มีคำถามนิดนึงค่ะ Object String และInteger แตกต่างกันอย่างไรคะ ช่วยอธิบายเป็นความรู้ในการประยุกต์ใช้กับงานอื่นๆ หน่อยค่ะอาจารย์
Re: ทำไม click code vba run แล้วไม่เปิดหน้า Browser BOT
Posted: Tue Apr 24, 2018 7:00 pm
by snasui
March201711 wrote: Tue Apr 24, 2018 10:05 am
มีคำถามนิดนึงค่ะ Object String และInteger แตกต่างกันอย่างไรคะ ช่วยอธิบายเป็นความรู้ในการประยุกต์ใช้กับงานอื่นๆ หน่อยค่ะอาจารย์

ทั้งหมดนั้นเป็น Data Type ศึกษาได้จาก Link นี้ครับ
https://msdn.microsoft.com/en-us/vba/la ... pe-summary
Re: ทำไม click code vba run แล้วไม่เปิดหน้า Browser BOT
Posted: Tue Apr 24, 2018 10:08 pm
by March201711
ขอบคุณค่ะอาจารย์ แต่ไม่เข้าใจตรงที่code นี้ค่ะ ความหมายคืออย่างไรค่ะ จะได้เอาไปประยุกต์ใช้กับ file อื่นค่ะ
Code: Select all
Select Case Weekday(Date, vbMonday)
Case 7
i = -2
Case 1
i = -3
Case Else
i = -1
End Select
แล้วถ้าติดวันหยุดพิเศษ อย่างวันสงกานต์ที่ตามมา ที่หยุดติดต่อกัน หยุดเพิ่มอีก 3 วัน ที่ผ่านมาหรือวันหยุดวันที่ 1 พค 61วันแรงงานที่จะถึงไม่กี่วัน ต้องปรับ code อย่างไรคะ
Re: ทำไม click code vba run แล้วไม่เปิดหน้า Browser BOT
Posted: Wed Apr 25, 2018 6:10 am
by snasui

Code นั้นเป็นการกำหนดตัวแปร i โดยตรวจสอบว่าวันที่ปัจจุบันเป็นวันใด
หากเป็นวันจันทร์ให้ตัวแปร i มีค่าเป็น -3
หากเป็นวันอาทิตย์ให้ตัวแปร i มีค่าเป็น -2
หากเป็นวันอื่น ๆ ให้ตัวแปร i มีค่าเป็น -1
เพื่อที่จะนำไปบวกกับวันที่ปัจจุบันให้กลายเป็นวันก่อนหน้าที่ต้องการ
กรณีมีวันหยุดอื่น ๆ จะต้องมีตารางวันหยุดเอาไว้ตรวจสอบแล้วค่อยเขียน Code เข้าไปตรวจสอบ การเขียน Code ต้องพยายามเขียนตามที่ตนต้องการมาเองก่อน ติดแล้วค่อยถามกันครับ
Re: ทำไม click code vba run แล้วไม่เปิดหน้า Browser BOT
Posted: Wed Apr 25, 2018 9:25 am
by March201711
ถ้าสร้าง file ใหม่เป็นวันหยุดตามแบงค์ชาติ สามารถทำได้ไหมคะ
Re: ทำไม click code vba run แล้วไม่เปิดหน้า Browser BOT
Posted: Wed Apr 25, 2018 7:21 pm
by snasui

สร้างไฟล์ใหม่แล้วก็ต้องเขียน Code ให้นำวันหยุดนั้นมาใช้ด้วย ติดตรงไหนนำมาถามกันต่อครับ
Re: ทำไม click code vba run แล้วไม่เปิดหน้า Browser BOT
Posted: Wed Apr 25, 2018 8:55 pm
by March201711
ลองเขียนใหม่แต่ก็ยังติดอยู่นะค่ะ ต้องปรับสูตรอย่างไรบ้างคะ
Re: ทำไม click code vba run แล้วไม่เปิดหน้า Browser BOT
Posted: Wed Apr 25, 2018 8:56 pm
by March201711
แนบไป2file แต่พอส่งกดโพสต์ไปแค่ file เดียว ขออนุญาติส่งเพิ่มอีก 1 file ค่ะ
Re: ทำไม click code vba run แล้วไม่เปิดหน้า Browser BOT
Posted: Wed Apr 25, 2018 9:09 pm
by snasui

ไม่มี Code สำหรับการค้นหาวันที่เป็นแค่การเปลี่ยน Drive ไปยังตำแหน่งไฟล์ Holiday.xlsx เท่านั้น
สิ่งที่ต้องทำคือเปิดไฟล์ Holiday.xlsx แล้วนำวันที่ปัจจุบันไปตรวจสอบว่าตรงกับวันที่เท่าไร วันที่ก่อนหน้านั้นเป็นวันหยุดหรือไม่ หากเป็นวันหยุด วันที่ก่อนหน้านั้นเป็นวันหยุดหรือไม่ Loop ไปจนพบวันที่ที่ไม่ใช่วันหยุด นำวันที่นั้นมาใช้ต่อ เช่นนั้นเป็นต้น
หากยังเขียน Loop ไม่เป็นให้ศึกษามาจากแหล่งอื่นก่อนเช่น Youtube เป็นต้น ตัวอย่างการ Loop ในฟอรัมนี้ก็มีจำนวนมากครับ
ตัวอย่างการ Loop เบื้องต้นครับ
https://youtu.be/UvwxU8e0nkg
https://youtu.be/e7quHzzLO7g
https://youtu.be/JhR3KZ5IffA