Page 1 of 1

ใช้ Application.GetOpenFilename ไปโฟลเดอร์เป้าหมาย

Posted: Fri Apr 05, 2024 4:55 pm
by tigerwit
จากไฟล์ที่แนบมา
ต้องการไปยังโฟลเดอร์ที่เก็บไฟล์ไว้ (โฟล์เดอร์อยู่ใน Drive C: ชื่อว่า Teacher)เพื่อเลือกไฟล์มาใช้งาน
จะต้องปรับโค๊ดอย่างไรครับ

Code: Select all

Sub openFolder()
  Dim fileToOpen As Variant
  Dim fileFilterPattern As String
  Application.ScreenUpdating = False
        fileFilterPattern = "Excel Files (*.xls; *.xlsx),*.xls;*.xlsx ,Text Files (*.txt; *.csv),*.txt;*.csv"
        fileToOpen = Application.GetOpenFilename(fileFilterPattern)
  If fileToOpen = False Then
        MsgBox "คุณไม่ได้เลือกไฟล์ที่จะนำเข้า", vbOKOnly + vbInformation, "ยกเลิกการนำเข้าข้อมูล"
  Exit Sub
  End If
End Sub


Re: ใช้ Application.GetOpenFilename ไปโฟลเดอร์เป้าหมาย

Posted: Fri Apr 05, 2024 6:27 pm
by 9KiTTi
แบบนี้หรือเปล่าครับอาจารย์ ตรวจสอบก่อนว่ามีโฟลเดอร์นี้ไหม ถ้าไม่มีให้สร้างใหม่ หลังจากนั้นให้เปิดโฟลเดอร์ที่กำหนดครับ

Code: Select all

Sub openFolder()
  Dim fileToOpen As Variant
  Dim fileFilterPattern As String
  Dim myPath As String 
  Application.ScreenUpdating = False
        myPath = "C:\Teacher" 
  If Not PathExist(myPath) Then MkDir (myPath)
        ChDir "C:\Teacher\"
        fileFilterPattern = "Excel Files (*.xls; *.xlsx),*.xls;*.xlsx ,Text Files (*.txt; *.csv),*.txt;*.csv"
        fileToOpen = Application.GetOpenFilename(fileFilterPattern)
  If fileToOpen = False Then
        MsgBox "คุณไม่ได้เลือกไฟล์ที่จะนำเข้า", vbOKOnly + vbInformation, "ยกเลิกการนำเข้าข้อมูล"
  Exit Sub
  End If
End Sub

Private Function PathExist(path_ As String) As Boolean
    On Error GoTo ErrNotExist
    Call ChDir(path_)
   PathExist = True
   Exit Function
ErrNotExist:
    PathExist = False
End Function

Private Function FileExist(filePath_ As String) As Boolean
    FileExist = Len(Dir(filePath_)) <> 0
End Function

Re: ใช้ Application.GetOpenFilename ไปโฟลเดอร์เป้าหมาย

Posted: Fri Apr 05, 2024 9:24 pm
by tigerwit
ขอบคุณครับ
แล้วหากว่าไม่มี โฟลเดอร์ teacher
จะต้องเพิ่มโค๊ดอย่างไรให้เปลี่ยนเส้นทางไปที่ C:\

Re: ใช้ Application.GetOpenFilename ไปโฟลเดอร์เป้าหมาย

Posted: Sun Apr 07, 2024 11:23 am
by snasui
tigerwit wrote: Fri Apr 05, 2024 4:55 pm ต้องการไปยังโฟลเดอร์ที่เก็บไฟล์ไว้ (โฟล์เดอร์อยู่ใน Drive C: ชื่อว่า Teacher)เพื่อเลือกไฟล์มาใช้งาน
:D ตัวอย่าง Code ครับ

Code: Select all

'Other code
Application.ScreenUpdating = False
ChDir ("C:\Teacher")
fileFilterPattern = "Excel Files (*.xls; *.xlsx),*.xls;*.xlsx ,Text Files (*.txt; *.csv),*.txt;*.csv"
'Other code

Re: ใช้ Application.GetOpenFilename ไปโฟลเดอร์เป้าหมาย

Posted: Mon Apr 08, 2024 9:31 am
by tigerwit
ขอบคุณครับ ปรับได้แล้วครับ