Преглед садржаја
Наравно, можда ћемо морати да отворимо датотеку из надређене Екцел датотеке користећи ВБА у другом директоријуму. Али у исто време, имамо различите врсте критеријума и о томе како желимо да отворимо радну свеску. Ако сте радознали да знате како можете да отворите радну свеску са именом променљиве, онда би вам овај чланак могао добро доћи. У овом чланку расправљамо о томе како можете да отворите радну свеску са именом променљиве користећи ВБА у Екцел-у са детаљним објашњењима.
Преузми радну свеску за вежбу
Преузми ову радну свеску за вежбање испод.
Отворите радну свеску са именом променљиве користећи ВБА.клсм
Сампле.клск
4 Лако Начини отварања радне свеске са именом променљиве помоћу ВБА у Екцел-у
Користићемо доњи скуп података за демонстрацију. Имамо информације о производима неколико производа са њиховим ИД-ом. ово је пример датотеке коју ћемо отворити помоћу ВБА кода.
1. Коришћење Воркбоок.Опен Проперти
Коришћење Воркбоок .Опен , можемо отворити фајлове тако што ћемо помињати директоријум или не помињући локацију. Такође можемо учинити отворену датотеку само за читање.
1.1 Отворена радна свеска са помињањем путање датотеке
У следећој методи ћемо користити Воркбоок.Опен Проперти да отворите датотеку директно из поменутог директоријума локације датотеке. Без обзира где се датотека налази, можемо је отворитишто је Суб Опен_Филе_витх_Адд_Проперти()
⮚ Затим декларишемо променљиву Филе_Патх као Стринг типе.
8309
⮚ И поставите променљиву Филе_Патх на локацију датотеке.
6703
⮚ вб декларишемо као променљиву у типу Воркбоок .
2272
⮚ Радна свеска се затим додаје из директоријума ускладиштеног на локацији Филе_Патх помоћу својства Воркбоок.Адд .
3591
⮚ Коначно, завршавамо подпроцедура овог кода.
Прочитајте више: [Поправљено!] Метода Отварање радних књига објеката није успело (4 решења)
Закључак
Да сумирамо, на питање како можемо да отворимо радне свеске са именима променљивих користећи ВБА овде је одговорено са 4 различита примера. Метода ВБА Мацро захтева претходно знање ВБА да би се разумело од нуле.
За овај проблем, доступна је радна свеска са омогућеним макроима за преузимање где можете вежбати ове методе.
Слободно постављајте питања или повратне информације у одељку за коментаре. Свака сугестија за побољшање заједнице Екцелдеми биће веома цењена
лако.Кораци
- Имамо датотеку сачувану у фасцикли докумената коју треба да отворимо.
- Користићемо датотеку име као променљиву, а затим отворите датотеку користећи мали ВБА макро.
- Тачан директоријум датотеке је приказан испод у прозору са својствима.
- Прво, идите на картицу Програмер и кликните на Висуал Басиц . Ако то немате, морате омогућити картицу Програмер . Или такође можете притиснути ' Алт+Ф11' да бисте отворили Висуал Басиц Едитор .
- Затим ће се појавити нови оквир за дијалог, у том дијалогу кликните на Инсерт &гт; Модуле .
- Следеће, у прозору Модуле едитор, откуцајте следећи код:
8879
- Затим затворите Прозор модула.
- Након тога идите на картицу Приказ &гт; Макрои .
- Затим кликните на Приказ Макрои .
- Након што кликнете на Прикажи макрое, изаберите макрое које сте управо креирали. Овде се зове Отвори_са_путњом_датотеке . Затим кликните на Покрени .
- Након тога ће се отворити датотека Пример .
🔎 Подела кода
8866
⮚ Прво, дајемо назив за под- процедура која је Опен_витх_Филе_Патх .
5133
⮚ Затим стављамо локацију датотеке у Филе_Патх променљиву
9435
⮚Затим декларишемо нашу променљиву вркбк , чији је тип радна свеска.
6874
⮚ Затим отварамо датотеку названу у променљивој директоријума Филе_Патх и постављамо датотеку као променљива вркбк .
3472
⮚ Коначно, завршавамо подпроцедуру овог кода.
Прочитајте више: Како Отворите радну свеску са путање помоћу Екцел ВБА (4 примера)
1.2 Отворите радну свеску без помињања путање датотеке
У следећем методу отворићемо датотеку из надређене фасцикле, где је главна датотека је сачувана. Датотека се може отворити без навођења било које локације у коду. Ова датотека само мора да буде у истој фасцикли као и родитељска фасцикла.
Кораци
- Имамо другу датотеку сачувану у истом директоријуму где је и родитељ Екцел датотека је сада сачувана.
- Име датотеке је 1.
- Прво, идите на Програмер картицу и кликните на Висуал Басиц . Ако то немате, морате омогућити картицу Програмер . Или такође можете притиснути ' Алт+Ф11 ' да бисте отворили Висуал Басиц Едитор .
- Затим ће се појавити нови оквир за дијалог, у том дијалогу кликните на Инсерт &гт; Модуле .
- Даље, у прозору уређивача Модуле унесите следећи код:
5008
- Затим затворите Прозор модула.
- Након тога идите на картицу Приказ &гт; Макрои .
- Затим кликните на ПриказМакрои .
- Након што кликнете на Прикажи макрое, изаберите макрое које сте управо креирали. Овде се зове Отворено_без_путања_датотеке . Затим кликните на Рун.
- Након што притиснете Рун , приметићете да је датотека под називом 1 сада отворена.
- И овако отварамо радну свеску са именом променљиве користећи ВБА у Екцел-у.
🔎 Рашчламба Код
4192
⮚ Прво, дајемо име за потпроцедуру које је Суб Опен_витхоут_Филе_Патх()
2391
⮚ Ми декларишемо вркбк као променљива у типу радне свеске
8557
⮚ Отварамо датотеку из родитељског директоријума под називом 1.клск .
7597
⮚ Коначно, завршавамо подпроцедуру овог кода.
1.3 Отвори радну свеску као само за читање
Метод је прилично сличан првом методу, али овде ћемо отворити датотеку у режиму само за читање, што значи да нећемо може да промени било који податак или вредност у Екцел датотеци.
Кораци
- Датотека коју желимо да отворимо је сачувана у фасцикли документа.
- А ово је датотека коју желимо да отворимо само за читање.
- Прво, идите на Програмер картицу и кликните на Висуал Басиц . Ако то немате, морате омогућити картицу Програмер . Или такође можете да притиснете ' Алт+Ф11 ' да бисте отворили Висуал Басиц Едитор.
- Онда ће бити нови дијалог, у том дијалогу кликните на Инсерт &гт; Модуле .
- Следеће, у прозору уређивача Модуле , откуцајте следећи код:
8661
- Затим затворите прозор Модул .
- Након тога идите на картицу Приказ &гт; Макрои .
- Затим кликните на Прикажи макрое .
- Након што кликнете на Поглед Макрои, изаберите макрое које сте управо креирали. Овде је име Отворено_са_датотеком_Само за читање . Затим кликните на Покрени .
- Након што кликнете на Покрени , видећемо да је датотека сада отворена као само за читање, као што је приказано у насловној траци.
🔎 Распад кода
6649
⮚ Прво, дајемо име за потпроцедуру које је Опен_витх_Филе_Реад_Онли()
9820
⮚ Ми декларишемо вркбк као променљиву у типу радне свеске
7303
⮚ Датотека ће се тада отворити из назначеног директоријума, а датотека ће бити постављена само за читање последњим аргументом.
3640
⮚ Коначно, завршавамо подпроцедура овог кода.
Прочитајте више: Како отворити радну свеску као само за читање са Екцел ВБА
2. Коришћење оквира за поруке
Скоро слично претходној методи, можемо отворити датотеке преко ВБА кода овде у Екцел-у, али у овом случају, овде ћемо уградити мали оквир за поруке.
Кораци
- Прво, идите на картицу Програмер и кликните на Висуал Басиц . Ако то немате, морате омогућитиКартица Девелопер . Или такође можете притиснути ' Алт+Ф11' да бисте отворили Висуал Басиц Едитор .
- Затим ће се појавити нови оквир за дијалог, у том дијалогу кликните на Инсерт &гт; Модуле .
- Даље, у прозору уређивача Модуле унесите следећи код:
1605
- Затим затворите Прозор модула.
- Након тога идите на картицу Приказ &гт; Макрои .
- Затим кликните на Приказ Макрои .
- Након што кликнете на Прикажи макрое, изаберите макрое које сте управо креирали. Овде се зове Опен_Филе_витх_Мессеге_Бок . Затим кликните на Покрени .
- Онда смо добили оквир са упозорењем, који показује да Датотека је успешно отворена .
- Затим кликните на ОК .
- И тада ћемо видети да је датотека сада отвори.
- И онда покушавамо мало да изменимо код.
- Променимо име датотеке у Сампле10 , а заправо не постоји датотека под називом Сампле10 у фолдеру докумената.
- Онда ми Поново покрените код и појавиће се оквир са поруком Отварање датотеке није успело .
- Кликните на ОК после овога.
🔎 Подела кода
5799
⮚ Прво, дајемо назив за потпроцедуру која је Опен_витх_Филе_Реад_Онли()
7354
⮚ Мипрогласи вркбк као променљиву у типу радне свеске
7010
2879
⮚ Ова линија ће проверити да ли је датотека под називом Сампле доступна у директоријуму или не. Ако је датотека тамо, онда ће отворите датотеку и истовремено ће приказати поруку.
7378
⮚ Ако у директоријуму нема датотеке под називом Сампле , ова порука ће бити испоручена.
5936
⮚ Коначно завршавамо подпроцедуру овог кода.
5952
⮚ Коначно завршавамо подпроцедуру овог кода.
Прочитајте више: Како отворити радну свеску и покренути макро користећи ВБА (4 примера)
3. Коришћење оквира за дијалог за отварање датотеке
Извлачење директоријума локације датотеке и њихово увоз сваки пут у ВБА коду је прилично гломазан. Да бисмо решили проблем, показаћемо како можете да користите оквир за дијалог да изаберете датотеку из било ког директоријума.
Кораци
- Сада ћемо отворити датотеку користећи дијалог за откривање датотека.
- Прво, идите на картицу Програмер и кликните на Висуал Басиц . Ако то немате, морате омогућити картицу Програмер . Или такође можете притиснути ' Алт+Ф11' да бисте отворили Висуал Басиц Едитор .
- Затим ће се појавити нови оквир за дијалог, у том дијалогу кликните на Инсерт &гт; Модуле .
- Следеће, у прозору Модуле едитор, откуцајте следећи код:
7698
- Затим затворите Модуле прозор.
- Након тога идите на картицу Приказ &гт; Макрои .
- Затим кликните на Прикажи макрое .
- Након што кликнете на Прикажи макрое, изаберите макрое које сте управо креирали. Овде се зове Отвори_датотеку_са_дијалогом . Затим кликните на Покрени .
- И онда се отвара нови прозор. У дијалогу истраживача датотека изаберите Узорак и кликните на ОК .
- Затим датотека под називом Пример отворен.
- И овако отварамо радну свеску са именом променљиве користећи ВБА у Екцел-у.
🔎 Рашчламба кода
9679
⮚ Прво, дајемо име за потпроцедуру које је Суб Опен_Филе_витх_Диалог_Бок()
4467
⮚ Декларишемо Дбок као променљиву у ФилеДиалог типе
9698
⮚ Декларишемо Филе_Патх као променљиву у Путања_датотеке Као Стринг тип
9022
⮚ Појавиће се оквир за дијалог из првог реда. Следећи ред означава име дијалога и тип датотеке.
⮚ Дбок.Титле ће поставити наслов дијалога. и FileType
подесите тип датотеке.
7910
⮚ Дбок.Филтерс.Цлеар ће обрисати све претходне филтере примењене у дијалошком оквиру
4306
⮚ Дбок.Схов ће учинити да се дијалошки оквир појави на датотеци.
⮚ Овај ред ће одредити да ли је корисник изабрао више од једне датотеке или не. Ако корисник изабере више одједну датотеку, цела процедура би стала.
6991
⮚ Коначно, завршавамо подпроцедуру овог кода.
Прочитајте више: Како отворити Фолдер и изаберите датотеку користећи Екцел ВБА (4 примера)
4. Коришћење Воркбоок.Адд Проперти
За разлику од претходних метода, креираћемо нову Екцел датотеку у унапред одређеном директоријуму а затим ћемо га отворити помоћу радне свеске. Додај својство.
Кораци
- Прво, идите на картицу Програмер и кликните на Висуал Басиц . Ако то немате, морате омогућити картицу Програмер . Или такође можете притиснути ' Алт+Ф11' да бисте отворили Висуал Басиц Едитор .
- Затим ће се појавити нови оквир за дијалог, у том дијалогу кликните на Инсерт &гт; Модуле .
Следеће, у прозор Модуле едитор, откуцајте следећи код:
3593
- Затим затворите прозор Модуле .
- Након то, идите на картицу Приказ &гт; Макрои .
- Затим кликните на Прикажи макрое .
- Након што кликнете на Прикажи макрое, изаберите макрое које сте управо сада креирали. Овде се зове Отвори_датотеку_са_додавањем_особине . Затим кликните на Покрени .
- Након што кликнете на Покрени, примијетићете да је сада нова датотека креирали и отворили.
🔎 Рашчламба кода
⮚ Прво, пружамо назив за потпроцедуру