آموزش و کاربرد تابع DIR در ماکرونویسی اکسل

آموزش و کاربرد تابع DIR در ماکرونویسی اکسل

وبسایت آموزشی اکسل

آموزش و کاربرد تابع DIR در ماکرونویسی اکسل

تابع DIR مخفف عبارت Directory که یکی از مهم ترین توابع VBA بوده و وظیفه آن برگرداندن نام اولین فایل موجود در آرگومان آدرس (PathName) است. اجازه بدید در ابتدا ساختار (Syntax) این تابع را باهم بررسی کنیم :

DIR (PathName[,attributes])

عبارت PathName همانطور که در بالا به آن نیز اشاره شد به معنای آدرس و یا به عبارتی Location فایل های موجود در ویندوز است و آرگومان دوم که آرگومانی اختیاری است به معنای نوع فایل (ویژگی فایل) بوده که در ادامه آموزش به آن اشاره خواهیم کرد.

به منظور آشنایی بیشتر با تابع پرکاربرد DIR در ماکرونویسی به مثالهای زیر دقت کنید :

 Dir(“C:\Excellearn.xlsx”)
Result: “Excellearn.xlsx”

 Dir(“C:\Excellearn.txt”)
Result: “Excellearn.txt”

 Dir(“C:\Excellearn.doc”)
Result: “Excellearn.doc”

در ادامه به چندین نکته کاربردی جهت استفاده از تابع DIR اشاره میکنیم :

  1. اگر PathName به هردلیلی غیرقابل دسترسی و نامشخص باشد تابع DIR مقدار صفر را بر میگرداند.
  2. از کارکتر * (ستاره) به منظور “شروع ، محتوا ، پایان ” میتوان استفاده کرد.
  3. از کارکتر ? (علامت سوال) به منظور “تعداد کارکتر” میتوان استفاده کرد.

برای درک بهتر مورد های 2 و 3 میتوانید از مثال های زیر کمک بگیرید :

Dir(“D:\PayanNameh.doc”)

Result:PayanNameh.doc

Dir(“D:\Payan*.doc”)

Result:PayanNameh.doc

Dir(“D:\Payan?????.doc”)

Result:PayanNameh.doc

سوال : در چه مواردی میتوان از تابع DIR در ماکرونویسی استفاده نمود ؟

  • پاسخ : در جواب این سوال باید گفت بطور کلی زمانی که نیاز دارید که فایل اکسل ماکرونویسی شده شما با فایل های موجود در ویندوز ارتباط برقرار کند و یا به عبارتی صحت وجود فایل ها را جهت ادامه فعالیت برنامه تایید کند.

برای صحت وجود فایل ها میتوان از ترکیب دو تابع LEN , DIR استفاده نمود ، به مثال زیر دقت کنید :

If Len(Dir(“c:\PayanNameh.doc”)) = 0 Then
Msgbox “این فایل وجود ندارد.”
Else
Msgbox “این فایل موجود است.”
End If

آموزش کاربرد حلقه ها در تابع DIR

اگر به توضیحاتی که در قسمت بالا ارائه شد دقت کرده باشید تمامیت اشاره به نام اولین فایل موجود در آدرس (آرگومان اول تابع DIR ) دارد،حال اگر نیاز باشد که لیستی از نام فایل های موجود را داشته باشیم چه باید کنیم ؟

ما با استفاده از حلقه ها میتوانیم نام اولین فایل موجود را به دومین و سومین و … تغییر بدیم و همچنین از پرکاربردترین حلقه هایی که با تابع DIR سروکار دارد میتوانیم به حلقه Do while … Loop اشاره کنیم .

برای درک بهتر این موضوع کافیه به مثال زیر دقت کنید :

توضیحات : در دستورات فوق آدرس (آرگومان اول تابع DIR) را درایو D در ویندوز مشخص نمودیم و با کارکتر * تعیین کردیم که تمام فایل های موجود با هرپسوندی مورد انتخاب ما است و سپس با یک حلقه نام اولین فایل موجود را به دومین ، سومین … الی نام ششمین فایل موجود تغییر دادیم.

پیشنهاد : اگر به دنبال آموزش های بیشتر در زمینه ماکرونویسی اکسل هستید میتوانید از آرشیو برنامه نویسی در اکسل سایت آموزشی اکسل لرن استفاده نمایید و همچنین در صورت نیاز میتوانیدمجموعه آموزشی الفبای وی بی ای را از فروشگاه اینترنتی اکسل لرن طی 60 قسمت کاملا تصویری تهیه و استفاده نمایید.

در صورت داشتن هرگونه انتقاد و پیشنهاد در مورد مطلب آموزش و کاربرد تابع DIR در ماکرونویسی اکسل میتوانید آن را در قسمت نظرات همین پست با ما در میان بگذارید.