VBA atvērt / aizvērt darbgrāmatu

Šajā apmācībā jūs uzzināsit, kā izmantot VBA, lai atvērtu un aizvērtu Excel darbgrāmatu vairākos veidos.

VBA ļauj atvērt vai aizvērt failus, izmantojot standarta metodes .Atvērt un .Slēgt.

Ja vēlaties uzzināt, kā pārbaudīt, vai fails pastāv, pirms mēģināt atvērt failu, varat noklikšķināt uz šīs saites: VBA fails pastāv

Atveriet darbgrāmatu VBA

Atveriet darbgrāmatu no ceļa

Ja zināt, kuru failu vēlaties atvērt, funkcijā varat norādīt tā pilnu ceļa nosaukumu. Šeit ir kods:

1 Darbgrāmatas. Atveriet "C: \ VBA mape \ Parauga fails 1.xlsx"

Šī koda rinda atver failu “Parauga fails 1” no “VBA mapes”.

Atvērt darbgrāmatu - ActiveWorkbook

Atverot darbgrāmatu, tā automātiski kļūst par ActiveWorkbook. Jūs varat atsaukties uz tikko atvērto darbgrāmatu šādi:

1 ActiveWorkbook.Save

Atsaucoties uz lapu vai diapazonu un izlaižot darbgrāmatas nosaukumu, VBA pieņems, ka jūs atsaucaties uz ActiveWorkbook:

1 Izklājlapas ("Sheet1"). Name = "Input"

Atveriet darbgrāmatu un piešķiriet mainīgajam

Varat arī atvērt darbgrāmatu un piešķirt to tieši objekta mainīgajam. Šī procedūra atvērs darbgrāmatu wb mainīgo un pēc tam saglabājiet darbgrāmatu.

123456 Sub OpenWorkbookToVariable ()Dim wb kā darbgrāmataIestatiet wb = Workbooks.Open ("C: \ VBA mape \ Parauga fails 1.xlsx")wb. SaglabātBeigu apakš

Darbgrāmatu piešķiršana mainīgajiem pēc to atvēršanas ir labākais veids, kā sekot līdzi savām darbgrāmatām

Darbgrāmatas atvēršanas failu dialoglodziņš

Varat arī aktivizēt darbgrāmatas dialoglodziņu Atvērt failu. Tas ļauj lietotājam pāriet uz failu un atvērt to:

12345678 Apakšdarba grāmata ()Dim strFile kā virknestrFile = Application.GetOpenFilename ()Darbgrāmatas. Atvērt (strFile)Beigu apakš

Kā redzams 1. attēlā, ar šo pieeju lietotāji var izvēlēties, kuru failu atvērt. Dialoglodziņu Atvērt failu var ļoti pielāgot. Pēc noklusējuma varat iestatīt noteiktu mapi, izvēlēties, kāda veida faili ir redzami (tikai… xlsx) un citus. Lai iegūtu detalizētus piemērus, izlasiet mūsu apmācību dialoglodziņā Atvērt failu.

Atveriet jaunu darbgrāmatu

Šī koda rinda atvērs jaunu darbgrāmatu:

1 Darbgrāmatas. Pievienot

Atvērt mainīgo jauno darbgrāmatu

Šī procedūra atvērs jaunu darbgrāmatu, piešķirot to mainīgajam wb:

1234 Sub OpenNewWorkbook ()Dim wb kā darbgrāmataIestatiet wb = darbgrāmatas. PievienotBeigu apakš

Atveriet darbgrāmatas sintaksi

Kad izmantojat darbgrāmatas. Atverot, iespējams, pamanīsit, ka, atverot darbgrāmatu, ir pieejamas daudzas iespējas:

Faila nosaukums ir jānorāda obligāti. Visi pārējie argumenti nav obligāti - un jums, iespējams, nevajadzēs zināt lielāko daļu citu argumentu. Šeit ir divi visizplatītākie:

Atveriet darbgrāmatu tikai lasīšanai

Kad darbgrāmata tiek atvērta tikai lasāma, jūs nevarat saglabāt sākotnējo failu. Tas neļauj lietotājam rediģēt failu.

1 Darbgrāmatas. Atveriet "C: \ VBA Folder \ Parauga fails 1.xlsx",, True

Atveriet ar paroli aizsargātu darbgrāmatu

Darbgrāmata, iespējams, ir aizsargāta ar paroli. Izmantojiet šo kodu, lai atvērtu ar paroli aizsargātu darbgrāmatu:

1 Darbgrāmatas. Atveriet "C: \ VBA Folder \ Parauga fails 1.xlsx",,, "parole"

Atveriet darbgrāmatas sintakses piezīmes

Ievērojiet, ka iepriekš redzamajā attēlā mēs iekļāvām iekavu “(”), lai parādītu sintaksi. Ja izmantojat iekavas, strādājot ar darbgrāmatām. Atvērts, jums jāpiešķir darbgrāmata mainīgajam:

1234 Sub OpenWB ()Dim wb kā darbgrāmataIestatiet wb = Workbooks.Open ("C: \ VBA Folder \ Parauga fails 1.xlsx", True, True)Beigu apakš

Aizveriet darbgrāmatu VBA

Aizveriet konkrētu darbgrāmatu

Līdzīgi kā darbgrāmatas atvēršanai, failu var aizvērt vairākos veidos. Ja zināt, kuru failu vēlaties aizvērt, varat izmantot šādu kodu:

1 Darbgrāmatas. Aizvērt ("C: \ VBA mape \ Parauga fails 1.xlsx")

Šī koda rinda aizver failu “Parauga fails 1”, ja tas ir atvērts. Ja nē, tas atgriezīs kļūdu, tāpēc jums vajadzētu rūpēties par kļūdu apstrādi.

Aizveriet aktīvo darbgrāmatu

Ja vēlaties aizvērt aktīvo darbgrāmatu, šī koda rinda ļaus jums to izdarīt:

1 ActiveWorkbook. Aizvērt

Aizveriet visas atvērtās darbgrāmatas

Lai aizvērtu visas atvērtās darbgrāmatas, varat vienkārši izmantot šo kodu:

1 Darba burtnīcas. Aizvērt

Aizveriet pirmo atvērto darbgrāmatu

Tiks aizvērta pirmā atvērtā/izveidotā darbgrāmata:

1 Darba burtnīcas (1). Aizvērt

Nomainiet 1 ar 2, lai aizvērtu otro atvērto / izveidoto darbgrāmatu utt.

Aizvērt, nesaglabājot

Tiks aizvērta darbgrāmata, nesaglabājot un nerādot saglabāšanas uzvedni:

1 ActiveWorkbook.Close savechanges: = Nepareizi

Saglabāt un aizvērt bez uzvednes

Līdzīgi tiks saglabāta un aizvērta darbgrāmata, nerādot saglabāšanas uzvedni:

1 ActiveWorkbook.Close savechanges: = True

Piezīme. Ir vairāki citi veidi, kā norādīt, vai saglabāt vai nesaglabāt darbgrāmatu, kā arī parādīt uzvednes vai nē. Šeit tas ir sīkāk apspriests.

Citi darbgrāmatas atvērtie piemēri

Atveriet vairākas jaunas darbgrāmatas

Šī procedūra atvērs vairākas jaunas darbgrāmatas, piešķirot jaunās darbgrāmatas masīvam:

12345678 Sub OpenMultipleNewWorkbooks ()Dim arrWb (3) Kā darbgrāmataDim i As IntegerAttiecībā uz i = 1 līdz 3Iestatīt arrWb (i) = darbgrāmatas. PievienotTālāk iBeigu apakš

Atveriet visas Excel darbgrāmatas mapē

Izmantojot šo procedūru, tiks atvērtas visas Excel darbgrāmatas mapē, izmantojot atvērtā dialoga atlasītāju.

12345678910111213141516 Sub OpenMultipleWorkbooksInFolder ()Dim wb kā darbgrāmataDim dlgFD kā FileDialogDim strFolder kā virkneDim strFileName kā virkneIestatiet dlgFD = Application.FileDialog (msoFileDialogFolderPicker)Ja dlgFD.Show = -1 TadstrFolder = dlgFD.SelectedItems (1) & Application.PathSeparatorstrFileName = Dir (strFolder & "*.xls*")Darīt, kamēr strFileName ""Iestatiet wb = darbgrāmatas. Atveriet (strFolder & strFileName)strFileName = RežCilpaBeigas JaBeigu apakš

Pārbaudiet, vai darbgrāmata ir atvērta

Šī procedūra pārbaudīs, vai darbgrāmata ir atvērta:

1234567891011 Sub TestByWorkbookName ()Dim wb kā darbgrāmataPar katru wb darbgrāmatāsJa wb.Name = "Jauna Microsoft Excel darblapa.xls" TadMsgBox "Atradu"Šeit izejiet no zvana koda, pagaidām mēs vienkārši iziesimBeigas JaNākamaisBeigu apakš

Darbgrāmata_atvērt notikumu

VBA notikumi ir “aktivizētāji”, kas liek VBA palaist noteiktu kodu. Varat iestatīt darbgrāmatas notikumus atvēršanai, aizvēršanai, pirms saglabāšanas, pēc saglabāšanas un citām darbībām.

Izlasiet mūsu pamācību Workbook_Open Event, lai uzzinātu vairāk par makro automātisku darbību, atverot darbgrāmatu.

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave