FileDialog VBA

FileDialog Excel VBA

Dalam VBA fieldialog adalah harta yang digunakan untuk mewakili keadaan yang berbeza, di fileialog terdapat empat jenis pemalar yang dikenali sebagai msofiledialogfilepicker yang digunakan untuk memilih fail dari jalur tertentu yang kedua adalah msofiledialogfolderpicker yang namanya disarankan digunakan untuk memilih folder dan ketiga adalah msofiledialog terbuka untuk membuka fail dan yang terakhir adalah msofiledialogsaveas yang digunakan untuk menyimpan fail sebagai fail baru.

Terdapat keadaan tertentu di mana kita menginginkan data dari fail lain atau lembaran kerja lain dan kerana VBA digunakan untuk mengotomatisasi kerja kita, kita dapat membuka fail lain yang lain menggunakan VBA dan ia dilakukan dengan menggunakan Filedialog, bahagian yang menarik untuk menggunakan ini kaedahnya adalah bahawa kita tidak perlu memberikan jalan ke kod sebaliknya kita meminta pengguna untuk melihat fail.

Sebagai sebahagian daripada projek VBA, kami mungkin perlu membuka buku kerja lain dan melaksanakan beberapa jenis tugas dengannya. Dalam artikel kami yang terdahulu "Buku Kerja VBA. Buka" kami telah menunjukkan cara membuka fail dengan jalan yang ditentukan dan fail tertentu. Di sana, kami perlu memberikan laluan folder dan nama fail dengan pelanjutannya. Tetapi bagaimana jika setiap kali pengguna harus memilih fail yang berbeza dari folder yang berbeza. Di sinilah pilihan "FileDialog" masuk ke dalam gambar.

Bagaimana VBA FileDialog Option berfungsi?

"Sekiranya anda tidak mengetahui jalan yang tepat, FileDialog akan mencari dan memilih failnya". Daripada menyebut alamat jalan dan nama fail, kami dapat menampilkan tetingkap dialog buka fail secara berasingan untuk memilih fail dari folder komputer mana pun.

Anda boleh memuat turun Templat VD FileDialog Excel ini di sini - Templat VBA FileDialog Excel

"FileDialog" adalah objek di VBA. Untuk menggunakan pilihan ini terlebih dahulu kita perlu menentukan pemboleh ubah sebagai FileDialog.

Setelah pemboleh ubah dinyatakan sebagai "FileDialog" ia adalah pemboleh ubah objek. Untuk mula menggunakan ini, kita perlu menetapkan objek dengan menggunakan Application.FileDialog.

Seperti yang kita lihat dalam gambar di atas, FileDialog mempunyai empat pilihan dengannya.

  • msoFileDialogFilePicker: Pilihan ini membuka tetingkap pemilih fail di hadapan pengguna untuk memilih fail yang diinginkan mengikut kehendak mereka.
  • msoFileDialogFolderPicker: Pilihan ini membuka kotak dialog atau tetingkap di hadapan pengguna untuk memilih Folder.
  • msoFileDialogOpen: Ini akan membolehkan pengguna membuka fail yang dipilih dari folder.
  • msoFileDialogSaveAs: Ini akan membolehkan pengguna menyimpan fail sebagai salinan yang berbeza.

Setakat ini, saya telah memilih pilihan msoFileDialogFilePicker.

Sekarang kita perlu merancang kotak dialog yang muncul di hadapan kita.

Dengan Dengan Penyataan kita dapat merancang kotak dialog.

Di dalam dengan pernyataan meletakkan titik untuk melihat senarai IntelliSense sifat dan kaedah pilihan FileDialog.

Untuk melihat hanya fail excel ketika kotak dialog fail dibuka, kita perlu terlebih dahulu membuang mana-mana penapis yang digunakan.

Sekarang kita perlu menerapkan penapis baru sebagai "Excel Files" dengan perpanjangan wildcard dari file excel.

Sekarang mari kita menukar tajuk kotak dialog fail.

Kita boleh membenarkan pengguna memilih hanya satu fail pada satu masa atau kita juga boleh membenarkan mereka memilih beberapa fail juga. Untuk ini, kita perlu menggunakan "Allow Multi-Select".

Kami ada dua pilihan di sini. Sekiranya BENAR dipilih, pengguna akan memilih beberapa fail jika itu adalah pengguna yang SALAH dapat memilih satu fail pada satu masa.

Perkara lain yang dapat kita rancang dengan FileDialog adalah kita benar-benar dapat menegaskan folder apa yang harus menjadi default ketika kotak dialog fail muncul. Untuk penggunaan ini Nama Fail Awal.

Untuk ini, kita perlu menyebut folder lalai untuk membuka alamat alamat.

Sekarang akhirnya kita perlu menerapkan kaedah "Show" untuk melihat kotak dialog fail.

Kod:

Sub DoEvents_Example1 () Dim Myfile Sebagai FileDialog Tetapkan Myfile = Application.FileDialog (msoFileDialogFilePicker) With Myfile .Filters.Clear .Filters.Tambah "Fail Excel", "* .xlsx?", 1 .Title = "Pilih Fail Excel Anda !! ! " .AllowMultiSelect = Salah .InitialFileName = "D: \ Excel Files". Tunjukkan Akhir Dengan Sub Akhir

Sekarang jalankan kod VBA untuk melihat hasilnya.

Seperti yang kita lihat di kotak dialog fail gambar di atas telah membuka folder yang disebutkan secara lalai.

Sekarang kita boleh memilih subfolder mana pun dan memilih fail excel.

Lihat gambar di atas kerana kami hanya menggunakan parameter penapis sebagai "Excel Files".

Ini hanya akan memilih fail dari folder yang disebutkan. Untuk menyimpan jalan penuh, kita perlu menyatakan satu lagi pemboleh ubah sebagai rentetan.

Sekarang di dalam dengan pernyataan pilih "SelectedItems". Tetapkan jalan folder item yang dipilih ke pemboleh ubah yang baru ditentukan.

Sekarang akhirnya tunjukkan jalan folder yang dipilih di kotak mesej VBA.

Sekarang saya akan menjalankan program untuk melihat kotak dialog.

Sekarang saya telah memilih Nama Fail sebagai “1. Charts.xlsx "dalam subfolder" Carta ". Sekiranya saya mengklik OK, kita dapat melihat jalur folder penuh di kotak mesej.

Jadi, seperti ini, kita boleh menggunakan pilihan FileDialog untuk memilih fail dari folder di Excel. Gunakan kod di bawah untuk memilih fail.

Kod:

Sub DoEvents_Example1 () Dim Myfile Sebagai FileDialog Tetapkan Myfile = Application.FileDialog (msoFileDialogFilePicker) Dim FileAddress As String With Myfile .Filters.Clear .Filters.Add "Excel Files", "* .xlsx?", 1 .Title = "Pilih. Fail Excel !!! " .AllowMultiSelect = False .InitialFileName = "D: \ Excel Files". Show FileAddress = .SelectedItems (1) End with MsgBox FileAddress End Sub