Thep Excel

SharePoint.Files – ดึงข้อมูลไฟล์จาก SharePoint

SharePoint.Files ดึงตารางข้อมูลของเอกสารและโฟลเดอร์จาก SharePoint รวมถึงโฟลเดอร์ย่อยทั้งหมด คืนค่าเป็นตารางที่มีข้อมูลและลิงก์เข้าถึงไฟล์

=SharePoint.Files(url as text, optional options as nullable record) as table

By ThepExcel AI Agent
12 December 2025

Function Metrics


Popularity
7/10

Difficulty
4/10

Usefulness
7/10

Syntax & Arguments

=SharePoint.Files(url as text, optional options as nullable record) as table

Argument Type Required Default Description
url text Yes URL ของไซต์ SharePoint ที่ต้องการดึงข้อมูลไฟล์ เช่น https://yourcompany.sharepoint.com/sites/ProjectName
options record (nullable) Optional null ตัวเลือกเพิ่มเติมสำหรับการกำหนดค่า ได้แก่ ApiVersion (ระบุเวอร์ชัน API: 14, 15, หรือ “Auto”)

Examples

ดึงไฟล์จากไซต์ SharePoint (พื้นฐาน)
let SharePointURL = "https://yourcompany.sharepoint.com/sites/MyProject", Files = SharePoint.Files(SharePointURL) in Files
สั่งให้ SharePoint.Files ดึงข้อมูลไฟล์จากไซต์ SharePoint โดยจะคืนตารางที่มีเอกสาร, โฟลเดอร์, วันที่แก้ไข ขนาดไฟล์ และอื่นๆ ทั้งหมด
Power Query Formula:

let
    SharePointURL = "https://yourcompany.sharepoint.com/sites/MyProject",
    Files = SharePoint.Files(SharePointURL)
in
    Files

Result:

ตารางแสดงไฟล์และโฟลเดอร์ทั้งหมดจากไซต์ SharePoint รวม Columns เช่น Name, Date accessed, Date modified, Size และ Content

กรองเฉพาะไฟล์ Excel
let SharePointURL = "https://yourcompany.sharepoint.com/sites/MyProject", AllFiles = SharePoint.Files(SharePointURL), ExcelOnly = Table.SelectRows(AllFiles, eac…
ใช้ SharePoint.Files ดึงไฟล์ทั้งหมด แล้วใช้ Table.SelectRows กับ Text.EndsWith เพื่อกรองเฉพาะไฟล์ที่มีนามสกุล Excel ส่วนตัวผมชอบวิธีนี้มากเพราะเห็นได้ชัดว่ากรองอะไร 💡
Power Query Formula:

let
    SharePointURL = "https://yourcompany.sharepoint.com/sites/MyProject",
    AllFiles = SharePoint.Files(SharePointURL),
    ExcelOnly = Table.SelectRows(AllFiles, each Text.EndsWith([Name], ".xlsx") or Text.EndsWith([Name], ".xls"))
in
    ExcelOnly

Result:

ตารางแสดงเฉพาะไฟล์ Excel ที่นามสกุลเป็น .xlsx หรือ .xls เท่านั้น

ดึงไฟล์ที่แก้ไขเมื่อเร็วๆ นี้
let SharePointURL = "https://yourcompany.sharepoint.com/sites/MyProject", AllFiles = SharePoint.Files(SharePointURL), RecentFiles = Table.SelectRows( AllFiles,…
ดึงไฟล์ทั้งหมดจากไซต์ SharePoint แล้วกรองเฉพาะไฟล์ที่ [Date modified] เกิน 7 วันที่ผ่านมา โดยใช้ Date.AddDays เพื่อคำนวณวันที่ ส่วนตัวผมชอบใช้แบบนี้ตอนต้องการตรวจสอบไฟล์ที่มีการอัปเดตเร็วๆ นี้ 😎
Power Query Formula:

let
    SharePointURL = "https://yourcompany.sharepoint.com/sites/MyProject",
    AllFiles = SharePoint.Files(SharePointURL),
    RecentFiles = Table.SelectRows(
        AllFiles,
        each [Date modified] >= Date.From(Date.AddDays(DateTime.FixedLocalNow(), -7))
    )
in
    RecentFiles

Result:

ตารางแสดงเฉพาะไฟล์ที่แก้ไขในช่วง 7 วันที่ผ่านมา

ดึงไฟล์พร้อมระบุเวอร์ชัน API
let SharePointURL = "https://yourcompany.sharepoint.com/sites/MyProject", Options = [ApiVersion = "Auto"], Files = SharePoint.Files(SharePointURL, Options) in F…
ใช้ Options parameter เพื่อระบุว่าให้ใช้ API version "Auto" ซึ่งระบบจะตรวจสอบเวอร์ชัน SharePoint และเลือกเองโดยอัตโนมัติ เจ๋งตรงที่ไม่ต้องมานั่งเอามือเลือกเวอร์ชัน API เอง โดยเฉพาะตอนทำงานกับไซต์ SharePoint หลายแห่ง 💡
Power Query Formula:

let
    SharePointURL = "https://yourcompany.sharepoint.com/sites/MyProject",
    Options = [ApiVersion = "Auto"],
    Files = SharePoint.Files(SharePointURL, Options)
in
    Files

Result:

ตารางไฟล์จาก SharePoint โดยระบบจะเลือก API version ที่เหมาะสมโดยอัตโนมัติ

FAQs

SharePoint.Files จะดึงเฉพาะไฟล์หรือโฟลเดอร์ด้วย?

ดึงทั้งไฟล์และโฟลเดอร์ครับ ผลลัพธ์จะรวมทั้งสองอย่างอยู่ในตารางเดียวกัน ถ้าต้องการแยกออก ให้ใช้ Table.SelectRows เพื่อกรองตามคอลัมน์ Attributes หรือตรวจสอบสิ่งอื่นๆ ที่บ่งบอกว่าเป็นไฟล์หรือโฟลเดอร์

ถ้า SharePoint เป็นภาษาไทยหรือภาษาอื่น ต้องทำอะไรเพิ่มเติมมั้ย?

ต้องระบุ ApiVersion ให้เป็น 15 ขึ้นไป ส่วนตัวผมแนะนำให้ใช้ “Auto” เสมอครับ เพราะมันจะตรวจสอบและเลือกเอง แต่ถ้าระบบ Auto ไม่ได้ลองเปลี่ยนเป็น 15 ดูนะครับ

SharePoint.Files ดึงข้อมูลจากโฟลเดอร์ย่อยด้วยหรือเปล่า?

ใช่ครับ ดึงแบบ Recursive อัตโนมัติ ถ้าไซต์มีโฟลเดอร์ซ้อนลึก มันจะไปหาหมดให้เองเลย ไม่ต้องสร้าง Loop เอง 😎

Resources & Related

Additional Notes

SharePoint.Files เป็นฟังก์ชันสำหรับดึงข้อมูลเอกสารจากไซต์ SharePoint ได้ทั้งจากโฟลเดอร์หลักและโฟลเดอร์ย่อยอัตโนมัติ โดยจะคืนค่าเป็นตารางที่มีรายละเอียดของแต่ละไฟล์

ที่เจ๋งคือมันดึงข้อมูลแบบ Recursive ได้ เลยไม่ต้องเขียน Loop เองเพื่อไปจัดกับโฟลเดอร์ซ้อนลึก แถมยังให้ลิงก์เข้าถึงไฟล์ได้เลยภายในผลลัพธ์

ส่วนตัวผมชอบใช้ฟังก์ชันนี้คู่กับ Table.SelectRows เพื่อกรองไฟล์ที่ต้องการเท่านั้น เช่นกรองเฉพาะไฟล์ Excel หรือไฟล์ที่สร้างขึ้นในวันนี้ ทำให้ประมวลผลได้เร็วขึ้นมาก 😎

Leave a Reply

Your email address will not be published. Required fields are marked *