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