تابع DIR در برنامه نویسی VBA چه کاربردی دارد ؟
. سلام به سافت پلاس خوش آمدید . امروز در زمینه برنامه نویسی VBA در اکسل می خواهیم در مورد تابعی به اسم تابع DIR صحبت کنیم .
می خواهیم ببینیم که تابع DIR چی هست ؟ از چه بخش هایی تشکیل شده ؟ چه کاربردهایی دارد و در برنامه نویسی وی بی ای در اکسل، کجاها می تواند به ما کند .
پس اگر علاقمند به یادگیری و کار با این تابع هستید و دوست دارید همه چیز را در مورد آن یاد بگیرید از شما دعوت می کنم که تا انتهای این آموزش با من همراه باشید .
من علیرضا شهرآئینی هستم و همه آن چیزی که درباره این تابع نیاز دارید را به شما آموزش خواهم داد .
تابع DIR چه کاربردی دارد ؟
DIR یک اصطلاح است که مخفف کلمه Directory است . بعضی از مواقع هست که در کد نویسی خودمان احتیاج داریم که اسم یک فایل یا پوشه خاصی را از داخل کامپیوترمان استخراج کنیم.
در این جور مواقع می توانیم از تابع dir کمک بگیریم . این تابع دو تا حالت می تواند داشته باشد .
حالت اول این است که برای این تابع یک آدرس را مشخص می کنیم و از برنامه می خواهیم که فایل های موجود در این آدرس را برای ما بررسی کند .
حالا اگر دقیقا ویژگی های فایل مورد نظرمان را به این تابع بدهیم بر اساس آن اطلاعات مربوط به آن فایل را برای ما برمی گرداند .
در حالت دوم اگر فقط آدرس محل فایل های مورد نظرمان را به تابع بدهیم و هیچ ویژگی دیگری را برایش تعیین نکنیم این تابع از بین فایل های موجود در آن آدرس اولین فایل را برای ما برخواهد گرداند .
راجع به هر دو تای این حالت ها در ادامه همین مطلب بصورت عملی مثال هایی را بررسی خواهیم کرد . اما قبل از هر چیز باید با سینتکس این تابع در برنامه نویسی وی بی ای آشنا شویم .
تابع dir از چه بخش هایی تشکیل شده است ؟
در برنامه نویسی وی بی ای هر تابعی می تواند یک سری ورودی را قبول کند . تابع dir دو تا ورودی دارد . شکل کلی این تابع به قرار زیر است .
Dir [ (pathname, [ attributes ] ) ]
کار این ورودی ها به قرار زیر است .
pathname : این ورودی آدرس محل قرار گیری فایل یا فایل های مورد نظر ما را در اختیار این تابع قرار می دهد .
attributes: این ورودی ویژگی ها و مشخصات مربوط به فایل مورد نظر ما در اختیار تابع قرار می دهد . خود این ویژگی ها شامل چندین مورد می شود که بعدا در مورد آنها صحبت می کنیم .
حالا برویم و در عمل با استفاده از چند تا مثال کار با این تابع را یاد بگیریم .
مثال های کاربردی از تابع DIR
در حالت کلی برای تابع dir دو تا تا حالت ممکن است اتفاق بیفتد .
حالت اول این است که فایل مورد نظر ما در داخل مسیری که به این تابع معرفی کرده ایم وجود داشته باشد .
اما حالت دوم دقیقا بر عکس است یعنی ما مشخصات و آدرس یک فایل را به این تابع می دهیم اما وقتی که این تابع به مسیر مورد نظر مراجعه می کند با همچین فایلی مواجه نمی شود .
اینجا با هم مثال های مختلفی از کار با این تابع را بررسی می کنیم تا بهتر با عملکرد این تابع در هر دو حالت آشنا شویم .
برای شروع به کدهای زیر دقت کنید .
Sub test()
MsgBox Dir(ThisWorkbook.Path)
End Sub
اینجا من یک روال خیلی ساده نوشته ام . در خط شماره 3 از این کدها من از تابع msgbox استفاده کرده ام .
به عنوان آرگومان این تابع من تابع Dir را معرفی کرده ام .
در آرگومان تابع dir از برنامه خواسته ام که به پوشه ای که برنامه اکسلی که در حال حاضر در داخل آن مشغول به کار هستم برود اما دقیقا برایش مشخص نکرده ام که به دنبال چه فایلی بگردد .
حالا وقتی که این تابع به مسیر فایل اکسل جاری من می رود اولین فایل موجود در داخل آن را به عنوان خروجی در قالب یک کادر پیغام به من نمایش داده خواهد شد .
مثال دوم
در مثال دوم من می خواهم مشخصات یک فایلی که وجود ندارد را به این تابع بدهم و با هم ببینیم که خروجی کار به چه صورت است .
به کدهای زیر دقت کنید
Sub test()
Dim FileName As String
FileName = Dir("D:\softpluse.xlsm")
MsgBox FileName
End Sub
در خط شماره 5 از این کدها من آدرس و اسم یک فایل را به این تابع معرفی کرده ام . اما همانطور که گفتم در داخل آدرس بالا چنین فایلی وجود ندارد .
حالا چه اتفاقی می افتد؟ تابع dir به آدرس مورد نظر برود و به دنبال فایلی که مشخصاتش را داده ام می گردد اما چون آن را پیدا نمی کند بنابراین خروجی این تابع مقدار تهی خواهد بود .
مثال سوم
در مثال سوم حالتی را در نظر می گیریم که فایل مورد نظر ما در آدرسی که به برنامه می دهیم وجود دارد . فکر می کنید که این بار چه اتفاقی می افتد .
برای این حالت کدهای زیر را در نظر بگیرید .
Sub test()
Dim myfile As String
myfile = Dir("D:\softpluse.xlsx")
MsgBox myfile
End Sub
در این حالت برنامه به سراغ آدرس مورد نظر ما رفته و چون فایلی که برایش مشخص کرده ایم در این آدرس وجود دارد بنابراین اسم این فایل را در قالب یک کادر پیغام به کاربر نمایش می دهد .
مطلب مرتبط : توابع match و index در اکسل
حالت های مختلف آرگومان Attribute
اگر خاطرتان باشد گفتیم که تابع dir دو تا ورودی دارد اما راجع به ورودی دوم تا به حال صحبت نکردیم . اینجا راجع به این آرگومان با هم صحبت می کنیم .
این ورودی می تواند چند تا حالت مختلف می تواند داشته باشد . به جدول زیر نگاه کنید .
جدول بالا حالت های مختلف مربوط به آرگومان مورد نظر را مشخص می کند . در ادامه همین آموزش از این حالت ها استفاده خواهیم کرد .
مطالب زیر را حتما مطالعه کنید
چطور زبان ورود اطلاعات در اکسس را کنترل کنیم ؟
با رعایت این نکات تبدیل به یک برنامه نویس حرفه ای در اکسل شوید .
۷ نکته مهم در برنامه نویسی VBA که باید آنها را بدانید
ماکرو نویسی در اکسل |ببینید که ماکروها چقدر کاربردی اند.
زبان وی بی ای مرده است
۱۰ کاری که بدون برنامه نویسی VBA قادر به انجامش نبودید .
توی این آموزش کارهایی رو بررسی می کنیم که فقط با استفاده از کدهای وی بی ای می شود آنها را در آفیس انجام داد .
دیدگاهتان را بنویسید