ВБА ФилеДиалог | Како отворити ФилесДиалог Бок помоћу ВБА кода?
Екцел ВБА ФилеДиалог
У ВБА фиелдиалог је својство које се користи за представљање различитих инстанци, у филедиалог постоје четири различите врсте константи које су познате као мсофиледиалогфилепицкер које се користи за одабир датотеке са датог пута, друго је мсофиледиалогфолдерпицкер чије име сугерише да се користи за одабир мапа и трећи је мсофиледиалог отворен за отварање датотеке, а последњи је мсофиледиалогсавеас који се користи за чување датотеке као нове датотеке.
Постоје одређене околности у којима желимо податке из било које друге датотеке или било ког другог радног листа, а како се ВБА користи за аутоматизацију нашег рада, можемо да отворимо различите друге датотеке помоћу ВБА-а, а то се ради помоћу Филедиалог-а, цоол дела коришћења овог Метода је да не морамо да пружимо путању до кода, већ тражимо од корисника да прегледа датотеку.
Као део ВБА пројекта, можда ћемо захтевати да отворимо друге радне свеске и извршимо неку врсту задатка са њима. У једном од ранијих чланака „ВБА Воркбоок.Опен“ показали смо како се отварају датотеке са наведеном путањом и одређеном датотеком. Тамо смо требали да додамо путању до мапе и име датотеке са њеним наставком. Али шта ако сваки пут када корисник мора да изабере различите датотеке из различитих директоријума. Овде се појављује опција „ФилеДиалог“.
Како функционише опција ВБА ФилеДиалог?
„Ако не знате тачан пут, ФилеДиалог ће пронаћи и одабрати датотеку“. Уместо да помињемо адресу путање и име датотеке, можемо посебно представити дијалошки оквир за отварање датотеке да бисмо је изабрали из било које мапе рачунара.
Овај предложак ВБА ФилеДиалог Екцел можете преузети овде - ВБА ФилеДиалог Екцел предложак„ФилеДиалог“ је објекат у ВБА. Да бисмо прво користили ову опцију, променљиву морамо дефинисати као ФилеДиалог.
Једном када је променљива декларисана као „ФилеДиалог“, она је променљива објекта. Да бисмо почели да користимо ово, морамо да поставимо објекат помоћу Апплицатион.ФилеДиалог.
Као што видимо на горњој слици, ФилеДиалог има четири могућности.
- мсоФилеДиалогФилеПицкер: Ова опција отвара прозор за избор датотека испред корисника да би изабрао жељену датотеку према њиховој жељи.
- мсоФилеДиалогФолдерПицкер: Ова опција отвара дијалог или прозор испред корисника да би изабрао мапу.
- мсоФилеДиалогОпен: Ово ће омогућити кориснику да отвори одабрану датотеку из фасцикле.
- мсоФилеДиалогСавеАс: Ово ће кориснику омогућити да датотеку сачува као другу копију.
До сада сам изабрао опцију мсоФилеДиалогФилеПицкер.
Сада треба да дизајнирамо дијалог који се појављује пред нама.
Користећи Витх Статемент можемо дизајнирати дијалошки оквир.
Унутар изјаве ставите тачку да бисте видели ИнтеллиСенсе листу својстава и метода опције ФилеДиалог.
Да бисмо видели само екцел датотеке када се отвори дијалошки оквир датотеке, прво морамо уклонити било који примењени филтер.
Сада морамо да применимо нови филтер као „Екцел датотеке“ са џокерским наставком екцел датотека.
Сада променимо наслов дијалошког оквира датотеке.
Кориснику можемо дозволити да одабере само једну датотеку одједном или му такође можемо омогућити да одабере више датотека. За ово морамо да користимо „Дозволи вишеструки избор“.
Овде имамо две могућности. Ако је изабрано ТРУЕ, омогућиће кориснику да одабере више датотека ако је ФАЛСЕ корисник може истовремено одабрати само једну датотеку.
Друга ствар коју можемо да дизајнирамо помоћу ФилеДиалог-а је да заправо можемо инсистирати на томе која би требала бити подразумевана мапа када се појави дијалошки оквир датотеке. За ово користите почетно име датотеке.
За ово морамо да поменемо подразумевани директоријум који треба отворити путању адресе.
Сада коначно морамо применити методу „Прикажи“ да бисмо видели дијалошки оквир датотеке.
Шифра:
Суб ДоЕвентс_Екампле1 () Затамни моју датотеку као ФилеДиалог Постави Мифиле = Апплицатион.ФилеДиалог (мсоФилеДиалогФилеПицкер) са Мифиле .Филтерс.Цлеар .Филтерс.Адд "Екцел Филес", "* .клск?", 1 .Титле = "Изаберите своју Екцел датотеку !! ! " .АлловМултиСелецт = Фалсе .ИнитиалФилеНаме = "Д: \ Екцел датотеке". Прикажи крај са завршетком Суб
Сада покрените ВБА код да бисте видели резултат.
Као што видимо у горњем дијалошком оквиру сликовне датотеке датотека је подразумевано отворила поменуту мапу.
Сада можемо одабрати било коју потмапу и одабрати екцел датотеке.
Погледајте горњу слику јер смо параметар филтра применили само као „Екцел датотеке“.
Овим ћете само одабрати датотеку из поменуте мапе. Да бисмо сачували целу путању, морамо још једну променљиву прогласити као низ.
Сада унутар изјаве са изаберите „СелецтедИтемс“. Доделите путању до фолдера изабраних ставки ново дефинисаној променљивој.
Сада напокон покажите изабрани пут до фасцикле у оквиру ВБА поруке.
Сада ћу покренути програм да видим оквир за дијалог.
Сада сам изабрао Име датотеке као „1. Цхартс.клск “у подмапи„ Цхартс “. Ако кликнем на У реду, у пољу за поруке можемо видети целу путању до фасцикле.
Дакле, овако, помоћу опције ФилеДиалог можемо одабрати датотеке из фасцикле у програму Екцел. Користите доњи код за одабир датотека.
Шифра:
Суб ДоЕвентс_Екампле1 () Затамни моју датотеку као ФилеДиалог Сет Мифиле = Апплицатион.ФилеДиалог (мсоФилеДиалогФилеПицкер) Дим ФилеАддресс Ас Стринг Витх Мифиле .Филтерс.Цлеар .Филтерс.Адд "Екцел Филес", "* .клск?", 1 .Титле = "Цхоосе иоур Екцел датотека !!! " .АлловМултиСелецт = Фалсе .ИнитиалФилеНаме = "Д: \ Екцел датотеке". Прикажи ФилеАддресс = .СелецтедИтемс (1) Заврши са МсгБок ФилеАддресс Енд Суб