Excel-makro, jolla voit määrittää, onko työkirja auki

Kun ajattelet Excel-työkirjojen automaattista avaamista, mieti, mitä voi tapahtua, jos yrität avata jo auki olevan kirjan. Muissa kuin VBA-maailmassa Excel yrittää avata tiedoston uudelleen ja varoittaa, että tallentamattomat muutokset katoavat. Voit suojautua tällaiselta tapahtumalta tarkistamalla, onko tietty tiedosto jo auki, ennen kuin yrität avata sen uudelleen.

Excel-makro, jolla voit määrittää, onko työkirja auki

Vältä tätä varoitusviestiä.

Kuinka makro toimii

Ensimmäinen asia, joka tulee huomata tässä makrossa, on, että se on funktio, ei alitoiminto. Kuten näet, tämän makron tekeminen funktioksi antaa sinun välittää sille minkä tahansa tiedostonimen ja testata, onko tiedosto jo auki.

Tämän koodin ydin on yksinkertainen. Testaat annettua tiedostonimeä nähdäksesi, voidaanko se määrittää objektimuuttujalle. Vain avatut työkirjat voidaan määrittää objektimuuttujaan. Kun yrität määrittää muuttujalle suljetun työkirjan, tapahtuu virhe.

Jos annettu työkirja voidaan määrittää, työkirja on auki; jos tapahtuu virhe, työkirja suljetaan.

Funktio FileIsOpenTest(TargetWorkbook As String) Boolen funktiona
'Vaihe 1: Ilmoita muuttujasi
    Himmeä testikirja työkirjana
Vaihe 2: Pyydä Exceliä jatkamaan virheen sattuessa
    Virheestä Jatka seuraavaksi
'Vaihe 3: Yritä määrittää kohdetyökirja TestBookille
    Aseta testikirja = työkirjat (TargetWorkbook)
'Vaihe 4: Jos virhettä ei tapahtunut, työkirja on jo auki
    Jos Err.Number = 0 Sitten
    FileIsOpenTest = Tosi
    Muu
    FileIsOpenTest = Epätosi
    Loppu Jos
Lopeta toiminto

Ensimmäinen asia, jonka makro tekee, on ilmoittaa merkkijonomuuttuja, joka sisältää käyttäjän valitseman tiedostonimen. TestBook on merkkijonomuuttujasi nimi.

Vaiheessa 2 kerrot Excelille, että tämän koodin suorittamisessa saattaa tapahtua virhe, ja jatka koodin suorittamista virheen sattuessa. Ilman tätä riviä koodi yksinkertaisesti pysähtyisi virheen tapahtuessa. Jälleen testaat annettua tiedostonimeä nähdäksesi, voidaanko se määrittää objektimuuttujalle. Jos annettu työkirja voidaan määrittää, se on auki; jos tapahtuu virhe, se suljetaan.

Vaiheessa 3 yrität määrittää annetun työkirjan TestBook Object -muuttujalle. Työkirja, jonka yrität määrittää, on merkkijonomuuttuja nimeltä TargetWorkbook. TargetWorkbook välitetään funktiolle funktiomäärittelyissä (katso koodin ensimmäinen rivi). Tämä rakenne poistaa tarpeen koodata työkirjan nimeä, joten voit välittää sen muuttujana sen sijaan.

Vaiheessa 4 tarkistat vain, onko tapahtunut virhe. Jos virhettä ei ilmennyt, työkirja on auki, joten asetat FileIsOpenTest-asetukseksi True. Jos tapahtui virhe, työkirja ei ole auki ja asetat FileIsOpenTest-asetukseksi False.

Jälleen tätä funktiota voidaan käyttää arvioimaan mitä tahansa tiedostoa, jonka annat sille TargetWorkbook-argumentin kautta. Tämä on makron funktioksi asettamisen kauneus.

Seuraava makro näyttää, kuinka tämä toiminto toteutetaan. Tässä kutsut uutta FileIsOpenTest-funktiota varmistaaksesi, että käyttäjä ei voi avata jo avattua tiedostoa:

Alamakro1()

'Vaihe 1: Määritä merkkijonomuuttuja

    Dim FName Varianttina

    Dim FNFileOnly As String

Vaihe 2: GetOpenFilename Method aktivoi valintaikkunan

    FName = Application.GetOpenFilename(_

            FileFilter:="Excel-työkirjat,*.xl*", _

            Title:="Valitse avattava työkirja", _

            MultiSelect:=False)

'Vaihe 3: Avaa valittu tiedosto, jos sitä ei ole jo avattu

    Jos FName <> False Sitten

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

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

Kuinka estää Microsoft Wordia avaamasta tiedostoja vain luku -tilassa Windowsissa

Kuinka estää Microsoft Wordia avaamasta tiedostoja vain luku -tilassa Windowsissa

Kuinka estää Microsoft Wordia avaamasta tiedostoja vain luku -tilassa Windowsissa Microsoft Word avaa tiedostot vain luku -tilassa, jolloin niiden muokkaaminen on mahdotonta? Älä huoli, menetelmät ovat alla

Microsoft Word -asiakirjojen virheellisen tulostuksen korjaaminen

Microsoft Word -asiakirjojen virheellisen tulostuksen korjaaminen

Virheiden korjaaminen virheellisten Microsoft Word -asiakirjojen tulostuksessa. Virheet tulostettaessa Word-asiakirjoja, joissa on muuttuneet fontit, sotkuiset kappaleet, puuttuva teksti tai kadonnut sisältö ovat melko yleisiä. Älä kuitenkaan

Pyyhi kynä- ja korostuspiirrokset PowerPoint-dioistasi

Pyyhi kynä- ja korostuspiirrokset PowerPoint-dioistasi

Jos olet piirtänyt PowerPoint-dioihin esityksen aikana kynää tai korostuskynää, voit tallentaa piirustukset seuraavaa esitystä varten tai poistaa ne, jotta seuraavan kerran näytät ne. Aloitat puhtailla PowerPoint-dioilla. Pyyhi kynä- ja korostuskynäpiirrokset noudattamalla näitä ohjeita: Pyyhi rivit yksi kerrallaan […]

Tyylikirjaston sisältö SharePoint 2010:ssä

Tyylikirjaston sisältö SharePoint 2010:ssä

Tyylikirjasto sisältää CSS-tiedostoja, Extensible Stylesheet Language (XSL) -tiedostoja ja kuvia, joita käyttävät ennalta määritetyt sivupohjat, sivuasettelut ja säätimet SharePoint 2010:ssä. CSS-tiedostojen etsiminen julkaisusivuston tyylikirjastosta: Valitse Sivuston toiminnot→ Näytä Kaikki sivuston sisältö. Sivuston sisältö tulee näkyviin. Style-kirjasto sijaitsee […]

Muotoile numerot tuhansiksi ja miljooniksi Excel-raporteissa

Muotoile numerot tuhansiksi ja miljooniksi Excel-raporteissa

Älä hukuta yleisöäsi jättimäisillä numeroilla. Microsoft Excelissä voit parantaa koontinäyttöjesi ja raporttiesi luettavuutta muotoilemalla numerot näyttämään tuhansia tai miljoonia.

SharePoint-sivustojen jakaminen ja seuraaminen

SharePoint-sivustojen jakaminen ja seuraaminen

Opi käyttämään SharePointin sosiaalisen verkostoitumisen työkaluja, joiden avulla yksilöt ja ryhmät voivat kommunikoida, tehdä yhteistyötä, jakaa ja pitää yhteyttä.

Kuinka muuntaa päivämäärät Julian-muotoihin Excelissä

Kuinka muuntaa päivämäärät Julian-muotoihin Excelissä

Juliaanisia päivämääriä käytetään usein valmistusympäristöissä aikaleimana ja pikaviitteenä eränumerolle. Tämän tyyppisen päivämääräkoodauksen avulla jälleenmyyjät, kuluttajat ja huoltoedustajat voivat tunnistaa tuotteen valmistusajankohdan ja siten tuotteen iän. Julian-päivämääriä käytetään myös ohjelmoinnissa, armeijassa ja tähtitiedessä. Erilainen […]

Access-verkkosovelluksen luominen

Access-verkkosovelluksen luominen

Voit luoda verkkosovelluksen Access 2016:ssa. Mikä verkkosovellus sitten on? No, verkko tarkoittaa, että se on verkossa, ja sovellus on vain lyhenne sanoista "sovellus". Mukautettu verkkosovellus on online-tietokantasovellus, jota käytetään pilvestä selaimen avulla. Rakennat ja ylläpidät verkkosovellusta työpöytäversiossa […]

Pikakäynnistyspalkki SharePoint 2010:ssä

Pikakäynnistyspalkki SharePoint 2010:ssä

Useimmat SharePoint 2010:n sivut näyttävät navigointilinkkien luettelon pikakäynnistyspalkissa sivun vasemmassa reunassa. Pikakäynnistyspalkki näyttää linkit esitellyn sivuston sisältöön, kuten luetteloihin, kirjastoihin, sivustoihin ja julkaisusivuihin. Pikakäynnistyspalkki sisältää kaksi erittäin tärkeää linkkiä: Koko sivuston sisältö -linkki: […]

Mitä Ratkaisijan virheilmoitukset Excelissä tarkoittavat?

Mitä Ratkaisijan virheilmoitukset Excelissä tarkoittavat?

Yksinkertaisille ongelmille Excelin Ratkaisija löytää yleensä nopeasti optimaaliset Ratkaisijamuuttujien arvot tavoitefunktiolle. Mutta joissakin tapauksissa Ratkaisijalla on vaikeuksia löytää Solver-muuttujan arvoja, jotka optimoivat tavoitefunktion. Näissä tapauksissa Ratkaisija näyttää yleensä viestin tai virheilmoituksen, joka kuvaa tai käsittelee ongelmaa, jonka […]