نمونه فایل اکسل لیست کردن فایل در سیستم با استفاده از FileSystemObject و یافتن متا داده فایل


در دنیای امروز، مدیریت و سازماندهی فایل‌ها اهمیت بسیار زیادی دارد، مخصوصاً زمانی که حجم فایل‌ها در سیستم‌های کامپیوتری بسیار زیاد است. یکی از روش‌های کارآمد برای دسته‌بندی، بررسی و لیست کردن فایل‌ها در سیستم‌های ویندوز، استفاده از برنامه‌نویسی است. در این زمینه، زبان‌های برنامه‌نویسی مختلفی وجود دارند، اما VBA (Visual Basic for Applications) یکی از قدرتمندترین ابزارها برای این کار است، مخصوصاً زمانی که هدف ایجاد فایل اکسل برای لیست کردن و مدیریت فایل‌ها باشد. در ادامه، به صورت جامع و کامل، نحوه نوشتن یک اسکریپت VBA برای لیست کردن فایل‌ها در یک مسیر خاص و استخراج متادیتای هر فایل، با استفاده از شی‌گرایی FileSystemObject توضیح داده می‌شود.

مفهوم و اهمیت FileSystemObject




در ابتدا، باید بدانید که FileSystemObject یکی از ابزارهای مهم در برنامه‌نویسی VBA است که به وسیله آن، می‌توانید به سیستم فایل‌های ویندوز دسترسی پیدا کنید، فایل‌ها و پوشه‌ها را ایجاد، حذف، ویرایش و اطلاعات مربوط به آن‌ها را دریافت کنید. این شی‌گرایی به برنامه‌نویسان اجازه می‌دهد تا به راحتی و با کدهای کوتاه، عملیات پیچیده مربوط به مدیریت فایل و دایرکتوری‌ها را انجام دهند. به طور خاص، با استفاده از این ابزار، می‌توان لیستی از فایل‌ها در یک مسیر مشخص تهیه کرد، ویژگی‌های هر فایل مانند نام، اندازه، تاریخ ساخت و تغییر و سایر متادیتا را استخراج کرد.

ساختار کلی برنامه برای لیست کردن فایل‌ها




در مرحله اول، باید یک پروژه VBA در اکسل ایجاد کنید. سپس، کد مورد نیاز برای دسترسی به مسیر دلخواه و استخراج اطلاعات فایل‌ها را بنویسید. این کد شامل موارد زیر است:

- تعریف متغیرهای لازم، مانند شی‌گرای FileSystemObject و شی‌گرای مربوط به پوشه و فایل‌ها.

- تعیین مسیر مورد نظر برای جستجو.

- استفاده از حلقه برای پیمایش در داخل پوشه و لیست کردن فایل‌ها.

- جمع‌آوری اطلاعات متا دیتا هر فایل و افزودن آن‌ها به جدول یا شیت اکسل.
برای شروع، باید ابتدا مرجع "Microsoft Scripting Runtime" را فعال کنید، تا بتوانید از امکانات پیشرفته‌تر این شی‌گرایی بهره‌مند شوید. این کار از طریق منوی Tools > References در ویژوال بیسیک انجام می‌شود و تیک مربوط به آن زده می‌شود.

نمونه کد VBA برای لیست کردن فایل‌ها و استخراج متادیتا




vba  

Sub ListFilesWithMetadata()

Dim fso As Object

Dim folder As Object

Dim file As Object

Dim i As Integer
' ایجاد شی FileSystemObject

Set fso = CreateObject("Scripting.FileSystemObject")
' مسیر مورد نظر را وارد کنید

Dim folderPath As String

folderPath = "C:\YourFolderPath"
' بررسی وجود مسیر

If Not fso.FolderExists(folderPath) Then

MsgBox "مسیر وجود ندارد!"

Exit Sub

End If
' ساخت شی پوشه

Set folder = fso.GetFolder(folderPath)
' تنظیم ردیف شروع در اکسل

i = 2

' افزودن عناوین ستون‌ها

Wi... ← ادامه مطلب در magicfile.ir