Š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.