Excel makro, lai noteiktu, vai darbgrāmata ir atvērta

Domājot par automātisku Excel darbgrāmatu atvēršanu, apsveriet, kas var notikt, ja mēģināt atvērt jau atvērtu grāmatu. Pasaulē, kas nav VBA, programma Excel mēģina vēlreiz atvērt failu, parādot brīdinājuma ziņojumu, ka visas nesaglabātās izmaiņas tiks zaudētas. Varat aizsargāties pret šādu gadījumu, pārbaudot, vai dotais fails jau ir atvērts, pirms mēģināt to atvērt vēlreiz.

Excel makro, lai noteiktu, vai darbgrāmata ir atvērta

Izvairieties no šī brīdinājuma ziņojuma.

Kā darbojas makro

Pirmā lieta, kas jāpamana saistībā ar šo makro, ir tā, ka tā ir funkcija, nevis apakšprocedūra. Kā redzēsit, padarot šo makro par funkciju, varat tam nodot jebkuru faila nosaukumu, lai pārbaudītu, vai fails jau ir atvērts.

Šī koda būtība ir vienkārša. Jūs pārbaudāt doto faila nosaukumu, lai noskaidrotu, vai to var piešķirt objekta mainīgajam. Objekta mainīgajam var piešķirt tikai atvērtas darbgrāmatas. Mēģinot mainīgajam piešķirt slēgtu darbgrāmatu, rodas kļūda.

Ja doto darbgrāmatu var piešķirt, darbgrāmata ir atvērta; ja rodas kļūda, darbgrāmata tiek aizvērta.

Funkcija FileIsOpenTest(TargetWorkbook As String) Kā Būla
1. darbība: deklarējiet savus mainīgos
    Dim TestBook kā darbgrāmata
2. darbība. Pastāstiet Excel atsākt kļūdas gadījumā
    Kļūdas gadījumā atsākt nākamo
3. darbība. Mēģiniet piešķirt mērķa darbgrāmatu TestBook
    Set TestBook = darbgrāmatas (mērķa darbgrāmata)
4. darbība. Ja kļūda nav radusies, darbgrāmata jau ir atvērta
    Ja Err.Number = 0 Tad
    FileIsOpenTest = Patiess
    Citādi
    FileIsOpenTest = False
    Beigas Ja
Beigu funkcija

Pirmā lieta, ko makro dara, ir deklarēt virknes mainīgo, kurā būs lietotāja izvēlētais faila nosaukums. TestBook ir jūsu virknes mainīgā nosaukums.

2. darbībā jūs sakāt programmai Excel, ka, iespējams, radusies kļūda, palaižot šo kodu, un kļūdas gadījumā atsākt koda darbību. Bez šīs rindas kods vienkārši apstāsies, kad rodas kļūda. Atkal, jūs pārbaudāt doto faila nosaukumu, lai redzētu, vai to var piešķirt objekta mainīgajam. Ja doto darbgrāmatu var piešķirt, tā ir atvērta; ja rodas kļūda, tas tiek aizvērts.

3. darbībā jūs mēģināt piešķirt doto darbgrāmatu mainīgajam TestBook Object. Darbgrāmata, kuru mēģināt piešķirt, ir virknes mainīgais ar nosaukumu TargetWorkbook. TargetWorkbook tiek nodota funkcijai funkciju deklarācijās (skatiet koda pirmo rindiņu). Šī struktūra novērš nepieciešamību stingri kodēt darbgrāmatas nosaukumu, ļaujot to nodot kā mainīgo.

4. darbībā vienkārši pārbaudiet, vai nav radusies kļūda. Ja kļūda nav radusies, darbgrāmata ir atvērta, tāpēc FileIsOpenTest iestatāt uz True. Ja radās kļūda, darbgrāmata nav atvērta, un jūs iestatāt FileIsOpenTest uz False.

Arī šo funkciju var izmantot, lai novērtētu jebkuru failu, ko tai nosūtāt, izmantojot tā TargetWorkbook argumentu. Tas ir makro iekļaušanas funkcijā skaistums.

Šis makro parāda, kā ieviest šo funkciju. Šeit jūs izsaucat jauno funkciju FileIsOpenTest, lai pārliecinātos, ka lietotājs nevar atvērt jau atvērtu failu:

Apakšmakro1()

1. darbība: definējiet virknes mainīgo

    Dim FName kā variants

    Dim FNFileOnly As String

2. darbība. GetOpenFilename metode aktivizē dialoglodziņu

    FName = Application.GetOpenFilename(_

            FileFilter:="Excel darbgrāmatas,*.xl*", _

            Title:="Izvēlieties atvērtai darbgrāmatu", _

            MultiSelect:=False)

3. darbība. Atveriet izvēlēto failu, ja tas vēl nav atvērts

    Ja FName <> False, tad

    FNFileOnly = StrReverse(Left(StrReverse(FName), _

                 InStr(Str(StrReverse(FName), ") - 1))

Leave a Comment

Kā pārvietoties Word 2007 tabulā

Kā pārvietoties Word 2007 tabulā

Uzziniet, kā efektīvi pārvietoties Word 2007 tabulā, izmantojot īsinājumtaustiņus un peles darbības, lai optimizētu savu darba plūsmu.

10 Excel funkcijas, kas jums patiešām būtu jāzina

10 Excel funkcijas, kas jums patiešām būtu jāzina

Šajā sarakstā ir iekļautas desmit populārākās Excel funkcijas, kas attiecas uz plašu vajadzību klāstu. Uzziniet, kā izmantot <strong>Excel funkcijas</strong> efektīvāk!

Papildu analīzes slāņu pievienošana jūsu Excel diagrammām

Papildu analīzes slāņu pievienošana jūsu Excel diagrammām

Uzziniet, kā pievienot papildu analīzes slāņus jūsu Excel diagrammām, lai uzlabotu vizualizāciju un sniegtu precīzākus datus. Šis raksts apraksta visas nepieciešamās darbības.

Kā izveidot rindkopas atkāpi programmā Word 2013

Kā izveidot rindkopas atkāpi programmā Word 2013

Uzziniet, kā iestatīt <strong>rindkopas atkāpi</strong> programmā Word 2013, lai uzlabotu dokumenta noformējumu un lasāmību.

Kā ievietot slejas Word 2010 dokumentā

Kā ievietot slejas Word 2010 dokumentā

Uzziniet, kā pareizi ievietot slejas programmā Word 2010, lai uzlabotu jūsu dokumentu formātu un struktūru.

Šūnu datu aizsardzība programmā Excel 2007

Šūnu datu aizsardzība programmā Excel 2007

Apsveriet iespēju aizsargāt Excel 2007 darblapu, lai izvairītos no neplānotām izmaiņām. Uzziniet, kā aizsargāt un atbloķēt šūnas, lai nodrošinātu datu integritāti.

PMT funkcija programmā Excel 2013

PMT funkcija programmā Excel 2013

Programmas Excel 2013 PMT funkcija aprēķina periodisko mūža rentes maksājumu. Šī funkcija ir būtiska hipotekāro kredītu maksājumu plānošanai.

Kā lietot t-test datu analīzes rīku programmā Excel

Kā lietot t-test datu analīzes rīku programmā Excel

Mācieties, kā veikt t-testus Excel programmā, izmantojot datus un aprakstot trīs t-testu veidus, kas noderēs jūsu datu analīzes procesā.

Kā filtrēt datu sarakstu programmā Excel 2016

Kā filtrēt datu sarakstu programmā Excel 2016

Uzziniet, kā filtrēt datu sarakstu programmā Excel 2016, lai ērti paslēptu nevēlamus ierakstus un strādātu tikai ar nepieciešamajiem datiem.

Kā pievienot datu etiķetes diagrammai programmā Excel 2007

Kā pievienot datu etiķetes diagrammai programmā Excel 2007

Uzziniet, kā vienkārši pievienot datu etiķetes diagrammai programmā Excel 2007. Palīdziet noteikt vērtības, kas tiek rādītas katrā datu punktā, izmantojot dažādas izvietošanas un formatēšanas iespējas.