معرفی و کاربرد Application.GetOpenFilename در ماکرونویسی اکسل
به نام خداوند بخشنده و مهربان با یک پست آموزشی دیگر در خصوص ماکرونویسی در اکسل خدمت شما عزیزان و سروران گرامی هستیم ، عنوان این پست را “معرفی و کاربرد Application.GetOpenFilename در ماکرونویسی اکسل” انتخاب کردیم که به طور خلاصه متد GetOpenFilename به پنجره محاوره ای (Open) گفته میشود که به کاربر قدرت انتخاب فایل های خارج از نرم افزار اکسل را میدهد.
ساختار (Syntax) این Method بصورت زیر است :
Object.GetOpenFilename ([fileFilter], [filterIndex],[title],[buttonText], [multiSelect])
تمام آرگومان های این Method اختیاری(Optional) هستند که در ادامه با چندین مثال کاربرد یکایک آنها را بررسی میکنیم.
- آرگومان fileFilter : تعیین فرمت های دریافتی توسط پنجره محاوره ای Open.
- آرگومان filterIndex : تعیین جایگاه فرمت پیشفرض.
- آرگومان title : عنوان پنجره ی محاوره ای Open.
- آرگومان buttonText : تعیین عنوان Button (تنها در سیستم عامل مکینتاش کاربرد دارد).
- آرگومان multiselect : اجازه انتخاب چندین فایل توسط پنجره محاوره ای Open.
در صورت اجرای ماکروی زیر :
Sub excellearn()
Dim FileFilter As String
Dim FilterIndex As Integer
Dim Title As String
Dim FileName As Variant
FileFilter = “Text Files (*.txt),*.txt,” & “All Files (*.*),*.*”
FilterIndex = 2
Title = “Select a File to Import”
FileName = Application.GetOpenFilename(FileFilter, FilterIndex, Title)
End Sub
خروجی به شکل زیر خواهد بود :
همانطور که مشاهده میکنید این Method به تنهایی کاربردی ندارد درحالیکه اگر با سایر دستورات ماکرونویسی ترکیب شود میتواند خروجی مطلوبی داشته باشد.
در ادامه باز کردن یک فایل اکسل با فرمت “xlsx” توسط GetOpenFilename Method را خواهیم داشت :
Sub excellearn()
Dim FileFilter As String
Dim Title As String
Dim FileName As Variant
FileFilter = “Excel Workbooks,*.xlsx”
Title = “Open a file”
FileName = Application.GetOpenFilename(FileFilter, FilterIndex, Title)
If FileName <> False Then
Workbooks.Open (FileName)
End If
End Sub
در ادامه ماکروی باز کردن چندین فایل اکسل با فرمت “xlsx” توسط GetOpenFilename Method را خواهیم داشت :
Sub excellearn()
Dim FileFilter As String
Dim Title As String
Dim FileName As Variant
Dim MultiSelect As Boolean
Dim i As Integer
FileFilter = “Excel Workbooks,*.xlsx”
Title = “Open a file”
MultiSelect = True
FileName = Application.GetOpenFilename(FileFilter, FilterIndex, Title, , MultiSelect)
If IsArray(FileName) Then
For i = LBound(FileName) To UBound(FileName)
Workbooks.Open FileName(i)
Next i
End If
End Sub
امیدواریم پست آموزشی “معرفی و کاربرد Application.GetOpenFilename در ماکرونویسی اکسل” مورد رضایت شما عزیزان قرار گرفته باشد. منتظر انتقادات و پیشنهادات شما عزیزان در قسمت نظرات همین پست هستیم.