ВБА ФилеДиалог - Како отворити ФилесДиалог Бок помоћу ВБА кода?

Преглед садржаја

Екцел ВБА ФилеДиалог

У ВБА фиелдиалог је својство које се користи за представљање различитих инстанци, у филедиалог постоје четири различите врсте константи које су познате као мсофиледиалогфилепицкер које се користи за одабир датотеке са датог пута, друго је мсофиледиалогфолдерпицкер чије име сугерише да се користи за одабир мапа и трећи је мсофиледиалог отворен за отварање датотеке, а последњи је мсофиледиалогсавеас који се користи за чување датотеке као нове датотеке.

Постоје одређене околности у којима желимо податке из било које друге датотеке или било ког другог радног листа, а како се ВБА користи за аутоматизацију нашег рада, можемо да отворимо различите друге датотеке помоћу ВБА-а, а то се ради помоћу дијалога Датотека, оног хладног дела коришћења ове методе је да не морамо да пружамо путању до кода, већ тражимо од корисника да прегледа датотеку.

Као део ВБА пројекта, можда ћемо захтевати да отворимо друге радне свеске и извршимо неку врсту задатка са њима. У једном од ранијих чланака, „ВБА Воркбоок.Опен“, показали смо како да отворимо датотеке са наведеном путањом и одређеном датотеком. Тамо смо требали да додамо путању до мапе и име датотеке са њеним наставком. Али шта ако сваки пут када корисник мора да изабере различите датотеке из различитих директоријума. Овде се појављује опција „ФилеДиалог“.

Како функционише опција ВБА ФилеДиалог?

„Ако не знате тачан пут, ФилеДиалог ће вас пронаћи и одабрати датотеку.“ Уместо да помињемо адресу путање и име датотеке, можемо засебно представити дијалошки оквир за отварање датотеке да бисмо изабрали датотеку из било које фасцикле на рачунару.

„ФилеДиалог“ је објекат у ВБА. Да бисмо прво користили ову опцију, треба да дефинишемо променљиву као ФилеДиалог.

Једном када је променљива декларисана као „ФилеДиалог“, она је променљива објекта. Да бисмо почели да користимо ово, морамо да поставимо објекат помоћу Апплицатион.ФилеДиалог.

Као што видимо на горњој слици, ФилеДиалог има четири опције са собом.

  • мсоФилеДиалогФилеПицкер: Ова опција отвара прозор за избор датотека испред корисника да би изабрао жељену датотеку према њиховој жељи.
  • мсоФилеДиалогФолдерПицкер: Ова опција отвара дијалог или прозор испред корисника за одабир мапе.
  • мсоФилеДиалогОпен: Ово ће омогућити кориснику да отвори одабрану датотеку из фасцикле.
  • мсоФилеДиалогСавеАс: Ово ће омогућити кориснику да сачува датотеку као другу копију.

До сада сам изабрао опцију мсоФилеДиалогФилеПицкер.

Сада треба да дизајнирамо дијалог који се појављује пред нама.

Користећи Витх Статемент, можемо дизајнирати дијалошки оквир.

Унутар изјаве ставите тачку да бисте видели ИнтеллиСенсе листу својстава и метода опције ФилеДиалог.

Да бисмо видели само екцел датотеке када се отвори дијалошки оквир датотеке, прво морамо уклонити било који примењени филтер.

Сада морамо да применимо нови филтер као „Екцел датотеке“ са џокерским наставком екцел датотека.

Сада променимо наслов дијалошког оквира датотеке.

Кориснику можемо дозволити да одабере само једну датотеку одједном, а можемо и да одабере више датотека. За ово морамо да користимо „Дозволи вишеструки избор“.

Овде имамо две могућности. Ако је изабрано ТРУЕ, то ће кориснику омогућити да одабере више датотека. Ако јесте, ФАЛСЕ корисник може истовремено одабрати само једну датотеку.

Друга ствар коју можемо да дизајнирамо помоћу ФилеДиалог-а је да заправо можемо инсистирати на томе која би требала бити подразумевана фасцикла када се појави дијалошки оквир датотеке. За ову употребу, почетно име датотеке.

За ово морамо да поменемо подразумевани директоријум који треба отворити путању адресе.

Сада коначно, морамо да применимо методу „Прикажи“ да бисмо видели дијалошки оквир датотеке.

Шифра:

Суб ДоЕвентс_Екампле1 () Затамни моју датотеку као ФилеДиалог Постави Мифиле = Апплицатион.ФилеДиалог (мсоФилеДиалогФилеПицкер) са Мифиле .Филтерс.Цлеар .Филтерс.Адд "Екцел Филес", "* .клск?", 1 .Титле = "Изаберите своју Екцел датотеку !! ! " .АлловМултиСелецт = Фалсе .ИнитиалФилеНаме = "Д: Екцел датотеке". Прикажи крај са завршетком Суб

Сада покрените ВБА код да бисте видели резултат.

Као што видимо у горњем дијалошком оквиру сликовне датотеке датотека је подразумевано отворила поменуту мапу.

Сада можемо одабрати било коју потмапу и одабрати екцел датотеке.

Погледајте горњу слику јер смо параметар филтра применили само као „Екцел датотеке“.

Овим ћете само одабрати датотеку из поменуте мапе. Да бисмо сачували целу путању, морамо још једну променљиву прогласити као низ.

Сада унутар изјаве, изаберите „СелецтедИтемс“. Доделите путању до фолдера изабраних ставки ново дефинисаној променљивој.

Сада напокон покажите изабрани пут до фасцикле у оквиру ВБА поруке.

Сада ћу покренути програм да видим оквир за дијалог.

Сада сам изабрао Име датотеке као „1. Цхартс.клск “у подмапи„ Цхартс “. Ако кликнем на У реду, у пољу за поруке можемо видети целу путању до фасцикле.

Дакле, овако, помоћу опције ФилеДиалог можемо одабрати датотеке из фасцикле у програму Екцел. Користите доњи код да бисте изабрали датотеке.

Шифра:

Суб ДоЕвентс_Екампле1 () Затамни моју датотеку као ФилеДиалог Сет Мифиле = Апплицатион.ФилеДиалог (мсоФилеДиалогФилеПицкер) Дим ФилеАддресс Ас Стринг Витх Мифиле .Филтерс.Цлеар .Филтерс.Адд "Екцел Филес", "* .клск?", 1 .Титле = "Цхоосе иоур Екцел датотека !!! " .АлловМултиСелецт = Фалсе .ИнитиалФилеНаме = "Д: Екцел датотеке". Прикажи ФилеАддресс = .СелецтедИтемс (1) Заврши са МсгБок ФилеАддресс Енд Суб

Занимљиви Чланци...