ВБА Отварање / затварање радне свеске

У овом водичу ћете научити како да користите ВБА за отварање и затварање Екцел радне свеске на неколико начина.

ВБА вам омогућава отварање или затварање датотека стандардним методама .Опен и .Близу.

Ако желите да сазнате како да проверите да ли датотека постоји пре него што покушате да је отворите, можете да кликнете на ову везу: ВБА датотека постоји

Отворите радну свеску у ВБА

Отворите радну свеску са путање

Ако знате коју датотеку желите да отворите, у функцији можете навести њено пуно име путање. Ево кода:

1 Воркбоокс.Опен "Ц: \ ВБА Фолдер \ Сампле филе 1.клск"

Ова линија кода отвара датотеку „Пример датотеке 1“ из „ВБА фасцикле“.

Отворите радну свеску - АцтивеВоркбоок

Када отворите радну свеску, она аутоматски постаје АцтивеВоркбоок. Новоотворену радну свеску можете референцирати овако:

1 АцтивеВоркбоок.Саве

Када референцирате лист или опсег и изоставите назив радне свеске, ВБА ће претпоставити да се позивате на АцтивеВоркбоок:

1 Табеле ("Лист1"). Назив = "Улаз"

Отворите радну свеску и доделите је променљивој

Такође можете отворити радну свеску и доделити је директно променљивој објекта. Ова процедура ће отворити радну свеску за вб променљиву, а затим сачувајте радну свеску.

123456 Суб ОпенВоркбоокТоВариабле ()Дим вб Као радна свескаСет вб = Воркбоокс.Опен ("Ц: \ ВБА Фолдер \ Пример датотеке 1.клск")вб.СавеЕнд Суб

Додељивање радних свески променљивим када се отворе је најбољи начин да пратите своје радне свеске

Радна свеска Отворите дијалог датотека

Такође можете покренути дијалог Отварање датотеке радне свеске. Ово омогућава кориснику да дође до датотеке и отвори је:

12345678 Под ОпенВоркбоок ()Дим стрФиле Ас СтрингстрФиле = Апплицатион.ГетОпенФиленаме ()Воркбоокс.Опен (стрФиле)Енд Суб

Као што можете видети на слици 1, са овим приступом корисници могу изабрати коју датотеку ће отворити. Дијалог Отворена датотека може се увелико прилагодити. Можете подразумевано подесити одређену фасциклу, изабрати које врсте датотека ће бити видљиве (нпр. Само клск) итд. За детаљне примере прочитајте наш водич у дијалогу Отворена датотека.

Отворите нову радну свеску

Ова линија кода отвориће нову радну свеску:

1 Воркбоокс.Адд

Отворите нову радну свеску променљивој

Ова процедура ће отворити нову радну свеску додељујући је променљивој вб:

1234 Под ОпенНевВоркбоок ()Дим вб Као радна свескаСет вб = Воркбоокс.АддЕнд Суб

Отворите Синтаксу радне свеске

Када користите радне свеске. Отворене ћете можда приметити да постоје многе опције доступне при отварању радне свеске:

Назив датотеке је обавезан. Сви други аргументи су опционални - и вероватно нећете морати да знате већину других аргумената. Ево два најчешћа:

Отворите радну свеску Само за читање

Када се радна свеска отвори само за читање, не можете сачувати оригиналну датотеку. Ово спречава да корисник уређује датотеку.

1 Воркбоокс.Опен "Ц: \ ВБА Фолдер \ Сампле филе 1.клск",, Тачно

Отворите радну свеску заштићену лозинком

Радна свеска је можда заштићена лозинком. Помоћу овог кода отворите радну свеску заштићену лозинком:

1 Воркбоокс.Опен "Ц: \ ВБА Фолдер \ Сампле филе 1.клск",,, "пассворд"

Отворите белешке о синтакси радне свеске

Имајте на уму да смо на горњој слици укључили заграде “(” за приказ синтаксе. Ако користите заграде при раду са радним свескама. Отворите, радну свеску морате доделити променљивој:

1234 Суб ОпенВБ ()Дим вб Као радна свескаСет вб = Воркбоокс.Опен ("Ц: \ ВБА Фолдер \ Пример датотеке 1.клск", Тачно, Тачно)Енд Суб

Затворите радну свеску у ВБА

Затворите посебну радну свеску

Слично отварању радне свеске, постоји неколико начина за затварање датотеке. Ако знате коју датотеку желите да затворите, можете користити следећи код:

1 Воркбоокс.Цлосе ("Ц: \ ВБА Фолдер \ Пример датотеке 1.клск")

Ова линија кода затвара датотеку „Пример датотеке 1“ ако је отворена. У супротном ће вратити грешку, па бисте требали водити рачуна о руковању грешкама.

Затворите активну радну свеску

Ако желите да затворите радну свеску која је тренутно активна, ова линија кода ће вам то омогућити:

1 АцтивеВоркбоок.Цлосе

Затворите све отворене радне свеске

Да бисте затворили све отворене радне свеске, једноставно користите овај код:

1 Радне свеске.Затворити

Затворите прво отворену радну свеску

Ово ће затворити прву отворену/креирану радну свеску:

1 Радне свеске (1) .Затвори

Замените 1 са 2 да бисте затворили другу отворену / креирану радну свеску и тако даље.

Затвори без чувања

Ово ће затворити радну свеску без чувања и без приказивања упита за чување:

1 АцтивеВоркбоок.Цлосе савецхангес: = Фалсе

Сачувај и затвори без упита

Слично, ово ће сачувати и затворити радну свеску без приказивања упита за чување:

1 АцтивеВоркбоок.Цлосе савецхангес: = Тачно

Напомена: Постоји неколико других начина да назначите да ли желите да сачувате или не сачувате радну свеску, као и да ли да прикажете упите или не. Ово се овде детаљније разматра.

Остали отворени примери радне свеске

Отворите више нових радних свезака

Ова процедура ће отворити више нових радних свезака, додељујући нове радне свеске низу:

12345678 Под ОпенМултиплеНевВоркбоокс ()Дим аррВб (3) Као радна свескаДим и Ас ИнтегерЗа и = 1 до 3Сет аррВб (и) = Воркбоокс.АддЗатим самЕнд Суб

Отворите све радне књиге програма Екцел у фасцикли

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

12345678910111213141516 Суб ОпенМултиплеВоркбооксИнФолдер ()Дим вб Као радна свескаЗатамните длгФД као ФилеДиалогДим стрФолдер Ас СтрингДим стрФилеНаме Ас СтрингПостави длгФД = Апплицатион.ФилеДиалог (мсоФилеДиалогФолдерПицкер)Ако је длгФД.Схов = -1 ТадастрФолдер = длгФД.СелецтедИтемс (1) & Апплицатион.ПатхСепараторстрФилеНаме = Дир (стрФолдер & "*.клс*")Уради Док стрФилеНаме ""Сет вб = Воркбоокс.Опен (стрФолдер & стрФилеНаме)стрФилеНаме = ДирЛоопКрај АкоЕнд Суб

Проверите да ли је радна свеска отворена

Ова процедура ће тестирати да ли је радна свеска отворена:

1234567891011 Под ТестБиВоркбоокНаме ()Дим вб Као радна свескаЗа сваку вб у радним свескамаАко је вб.Наме = "Нови радни лист Мицрософт Екцел.клс" ЗатимМсгБок "Пронашао сам"Овде изађите из позивног кода Суб, за сада ћемо само изаћиКрај АкоСледећиЕнд Суб

Воркбоок_Опен Евент

ВБА догађаји су „окидачи“ који говоре ВБА да покреће одређени код. Можете подесити догађаје радне свеске за отварање, затварање, пре чувања, након чувања и још много тога.

Прочитајте наш водич Воркбоок_Опен Евент да бисте сазнали више о аутоматском покретању макроа када се радна свеска отвори.

Ви ће помоћи развој сајта, дељење страницу са пријатељима

wave wave wave wave wave