SharePoint.Files ดึงตารางข้อมูลของเอกสารและโฟลเดอร์จาก SharePoint รวมถึงโฟลเดอร์ย่อยทั้งหมด คืนค่าเป็นตารางที่มีข้อมูลและลิงก์เข้าถึงไฟล์
| อาร์กิวเมนต์ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
| url | text | URL ของไซต์ SharePoint ที่ต้องการดึงข้อมูลไฟล์ เช่น https://yourcompany.sharepoint.com/sites/ProjectName | |
| [options]ไม่บังคับ | record (nullable) | null | ตัวเลือกเพิ่มเติมสำหรับการกำหนดค่า ได้แก่ ApiVersion (ระบุเวอร์ชัน API: 14, 15, หรือ “Auto”) |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
SharePoint.Files เป็นฟังก์ชันสำหรับดึงข้อมูลเอกสารจากไซต์ SharePoint ได้ทั้งจากโฟลเดอร์หลักและโฟลเดอร์ย่อยอัตโนมัติ โดยจะคืนค่าเป็นตารางที่มีรายละเอียดของแต่ละไฟล์
ที่เจ๋งคือมันดึงข้อมูลแบบ Recursive ได้ เลยไม่ต้องเขียน Loop เองเพื่อไปจัดกับโฟลเดอร์ซ้อนลึก แถมยังให้ลิงก์เข้าถึงไฟล์ได้เลยภายในผลลัพธ์
ส่วนตัวผมชอบใช้ฟังก์ชันนี้คู่กับ Table.SelectRows เพื่อกรองไฟล์ที่ต้องการเท่านั้น เช่นกรองเฉพาะไฟล์ Excel หรือไฟล์ที่สร้างขึ้นในวันนี้ ทำให้ประมวลผลได้เร็วขึ้นมาก 😎
สั่งให้ SharePoint.Files ดึงข้อมูลไฟล์จากไซต์ SharePoint โดยจะคืนตารางที่มีเอกสาร, โฟลเดอร์, วันที่แก้ไข ขนาดไฟล์ และอื่นๆ ทั้งหมด
ใช้ SharePoint.Files ดึงไฟล์ทั้งหมด แล้วใช้ Table.SelectRows กับ Text.EndsWith เพื่อกรองเฉพาะไฟล์ที่มีนามสกุล Excel ส่วนตัวผมชอบวิธีนี้มากเพราะเห็นได้ชัดว่ากรองอะไร 💡
ดึงไฟล์ทั้งหมดจากไซต์ SharePoint แล้วกรองเฉพาะไฟล์ที่ [Date modified] เกิน 7 วันที่ผ่านมา โดยใช้ Date.AddDays เพื่อคำนวณวันที่ ส่วนตัวผมชอบใช้แบบนี้ตอนต้องการตรวจสอบไฟล์ที่มีการอัปเดตเร็วๆ นี้ 😎
ใช้ Options parameter เพื่อระบุว่าให้ใช้ API version "Auto" ซึ่งระบบจะตรวจสอบเวอร์ชัน SharePoint และเลือกเองโดยอัตโนมัติ เจ๋งตรงที่ไม่ต้องมานั่งเอามือเลือกเวอร์ชัน API เอง โดยเฉพาะตอนทำงานกับไซต์ SharePoint หลายแห่ง 💡
ดึงทั้งไฟล์และโฟลเดอร์ครับ ผลลัพธ์จะรวมทั้งสองอย่างอยู่ในตารางเดียวกัน ถ้าต้องการแยกออก ให้ใช้ Table.SelectRows เพื่อกรองตามคอลัมน์ Attributes หรือตรวจสอบสิ่งอื่นๆ ที่บ่งบอกว่าเป็นไฟล์หรือโฟลเดอร์
ต้องระบุ ApiVersion ให้เป็น 15 ขึ้นไป ส่วนตัวผมแนะนำให้ใช้ "Auto" เสมอครับ เพราะมันจะตรวจสอบและเลือกเอง แต่ถ้าระบบ Auto ไม่ได้ลองเปลี่ยนเป็น 15 ดูนะครับ
ใช่ครับ ดึงแบบ Recursive อัตโนมัติ ถ้าไซต์มีโฟลเดอร์ซ้อนลึก มันจะไปหาหมดให้เองเลย ไม่ต้องสร้าง Loop เอง 😎
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่