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))

Kā neļaut Microsoft Word atvērt failus tikai lasīšanas režīmā operētājsistēmā Windows

Kā neļaut Microsoft Word atvērt failus tikai lasīšanas režīmā operētājsistēmā Windows

Kā neļaut Microsoft Word atvērt failus tikai lasīšanas režīmā operētājsistēmā Windows Microsoft Word atver failus tikai lasīšanas režīmā, padarot tos neiespējamu rediģēt? Neuztraucieties, metodes ir norādītas zemāk

Kā novērst nepareizu Microsoft Word dokumentu drukāšanu

Kā novērst nepareizu Microsoft Word dokumentu drukāšanu

Kā labot kļūdas, drukājot nepareizus Microsoft Word dokumentus.Kļūdas Word dokumentu drukāšanā ar mainītiem fontiem, nekārtīgām rindkopām, trūkstoša teksta vai pazaudētu saturu ir diezgan izplatītas. Tomēr nevajag

Izdzēsiet pildspalvas un marķiera zīmējumus savos PowerPoint slaidos

Izdzēsiet pildspalvas un marķiera zīmējumus savos PowerPoint slaidos

Ja prezentācijas laikā esat izmantojis pildspalvu vai marķieri, lai zīmētu uz PowerPoint slaidiem, varat saglabāt zīmējumus nākamajai prezentācijai vai izdzēst tos, lai nākamajā reizē, kad to parādīsit, jūs sāktu ar tīriem PowerPoint slaidiem. Izpildiet šos norādījumus, lai dzēstu pildspalvas un marķiera zīmējumus: Līniju dzēšana pa vienai […]

Veidojiet bibliotēkas saturu programmā SharePoint 2010

Veidojiet bibliotēkas saturu programmā SharePoint 2010

Stilu bibliotēkā ir CSS faili, paplašināmās stila lapu valodas (XSL) faili un attēli, ko izmanto iepriekš definētas šablona lapas, lapu izkārtojumi un vadīklas programmā SharePoint 2010. Lai atrastu CSS failus publicēšanas vietnes stilu bibliotēkā: izvēlieties Vietnes darbības → Skatīt Viss vietnes saturs. Tiek parādīts vietnes saturs. Stila bibliotēka atrodas […]

Formatējiet skaitļus tūkstošos un miljonos Excel pārskatos

Formatējiet skaitļus tūkstošos un miljonos Excel pārskatos

Nepārsedziet savu auditoriju ar milzīgiem skaitļiem. Programmā Microsoft Excel varat uzlabot informācijas paneļu un pārskatu lasāmību, formatējot skaitļus tā, lai tie tiktu rādīti tūkstošos vai miljonos.

Kā koplietot un sekot līdzi SharePoint vietnēm

Kā koplietot un sekot līdzi SharePoint vietnēm

Uzziniet, kā izmantot SharePoints sociālo tīklu rīkus, kas ļauj indivīdiem un grupām sazināties, sadarboties, koplietot un sazināties.

Kā programmā Excel konvertēt datumus Juliana formātos

Kā programmā Excel konvertēt datumus Juliana formātos

Jūlija datumi ražošanas vidēs bieži tiek izmantoti kā laikspiedols un ātra atsauce partijas numuram. Šāda veida datuma kodēšana ļauj mazumtirgotājiem, patērētājiem un pakalpojumu aģentiem noteikt produkta izgatavošanas laiku un līdz ar to arī produkta vecumu. Jūlija datumi tiek izmantoti arī programmēšanā, militārajā jomā un astronomijā. Savādāk […]

Kā izveidot Access Web App

Kā izveidot Access Web App

Programmā Access 2016 varat izveidot tīmekļa lietotni. Kas tad vispār ir tīmekļa lietotne? Tīmeklis nozīmē, ka tas ir tiešsaistē, un lietotne ir tikai “lietojumprogrammas” saīsinājums. Pielāgota tīmekļa lietotne ir tiešsaistes datu bāzes lietojumprogramma, kurai var piekļūt no mākoņa, izmantojot pārlūkprogrammu. Jūs veidojat un uzturat tīmekļa lietotni darbvirsmas versijā […]

Ātrās palaišanas josla programmā SharePoint 2010

Ātrās palaišanas josla programmā SharePoint 2010

Lielākā daļa SharePoint 2010 lapu ātrās palaišanas joslā lapas kreisajā pusē parāda navigācijas saišu sarakstu. Ātrās palaišanas joslā tiek rādītas saites uz piedāvāto vietņu saturu, piemēram, sarakstiem, bibliotēkām, vietnēm un publicēšanas lapām. Ātrās palaišanas joslā ir divas ļoti svarīgas saites: Visa vietnes satura saite: […]

Ko nozīmē risinātāja kļūdu ziņojumi programmā Excel?

Ko nozīmē risinātāja kļūdu ziņojumi programmā Excel?

Vienkāršām problēmām risinātājs programmā Excel parasti ātri atrod optimālās Risinātāja mainīgā vērtības mērķa funkcijai. Taču dažos gadījumos Solver ir grūti atrast Solver mainīgā vērtības, kas optimizē mērķa funkciju. Šādos gadījumos Solver parasti parāda ziņojumu vai kļūdas ziņojumu, kurā aprakstīta vai apspriesta problēma, ko […]