Egy Excel makró annak meghatározására, hogy egy munkafüzet nyitva van-e

Amikor az Excel-munkafüzetek automatikus megnyitásán gondolkodik, gondolja át, mi történhet, ha egy már nyitva lévő könyvet próbál megnyitni. A nem VBA világban az Excel megpróbálja újra megnyitni a fájlt, és a megjelenő üzenet figyelmezteti, hogy a nem mentett módosítások elvesznek. Az ilyen esetek ellen úgy védekezhet, hogy az újbóli megnyitás előtt ellenőrzi, hogy egy adott fájl nyitva van-e már.

Egy Excel makró annak meghatározására, hogy egy munkafüzet nyitva van-e

Kerülje el ezt a figyelmeztető üzenetet.

Hogyan működik a makró

Az első dolog, amit észre kell venni ezzel a makróval kapcsolatban, hogy ez egy függvény, nem pedig egy aleljárás. Amint látni fogja, a makró funkcióvá tétele lehetővé teszi, hogy bármilyen fájlnevet átadjon neki, hogy tesztelje, hogy az adott fájl már nyitva van-e.

Ennek a kódnak a lényege egyszerű. Egy adott fájlnevet tesztel, hogy megtudja, hozzárendelhető-e egy objektumváltozóhoz. Csak a megnyitott munkafüzetek rendelhetők objektumváltozóhoz. Amikor egy zárt munkafüzetet próbál hozzárendelni a változóhoz, hiba történik.

Ha az adott munkafüzet hozzárendelhető, a munkafüzet nyitva van; hiba esetén a munkafüzet bezárul.

Függvény FileIsOpenTest(TargetWorkbook As String) Logikai értékként
'1. lépés: Deklarálja a változókat
    Dim tesztfüzet munkafüzetként
'2. lépés: Mondja meg az Excelnek, hogy hiba esetén folytassa
    Hiba esetén Folytatás a következővel
'3. lépés: Próbálja meg hozzárendelni a célmunkafüzetet a TestBookhoz
    Tesztkönyv beállítása = Munkafüzetek (Célmunkafüzet)
4. lépés: Ha nem történt hiba, a munkafüzet már meg van nyitva
    Ha Err.Number = 0 Akkor
    FileIsOpenTest = Igaz
    Más
    FileIsOpenTest = Hamis
    Vége Ha
Funkció befejezése

A makró első dolga, hogy deklarál egy String változót, amely tartalmazza a felhasználó által választott fájlnevet. A TestBook a String változó neve.

A 2. lépésben közli az Excellel, hogy hiba lépett fel a kód futtatásakor, és hiba esetén folytatja a kód futtatását. E sor nélkül a kód egyszerűen leállna, ha hiba történik. Ismét tesztel egy adott fájlnevet, hogy megnézze, hozzá lehet-e rendelni egy objektumváltozóhoz. Ha az adott munkafüzet hozzárendelhető, akkor nyitva van; ha hiba történik, akkor bezárul.

A 3. lépésben megpróbálja hozzárendelni az adott munkafüzetet a TestBook Object változóhoz. A hozzárendelni kívánt munkafüzet egy TargetWorkbook nevű karakterlánc-változó. A TargetWorkbook átadásra kerül a függvénynek a függvénydeklarációkban (lásd a kód első sorát). Ez a struktúra kiküszöböli a munkafüzet nevének kemény kódolását, lehetővé téve helyette változóként történő átadását.

A 4. lépésben egyszerűen ellenőrizze, nem történt-e hiba. Ha nem történt hiba, a munkafüzet meg van nyitva, ezért a FileIsOpenTest értékét igazra kell állítani. Ha hiba történt, a munkafüzet nincs megnyitva, és a FileIsOpenTest értékét False értékre állítja.

Ez a függvény is felhasználható bármely fájl kiértékelésére, amelyet a TargetWorkbook argumentumán keresztül továbbít neki. Ez a makró funkcióba helyezésének szépsége.

A következő makró bemutatja ennek a funkciónak a megvalósítását. Itt hívja meg az új FileIsOpenTest függvényt, hogy megbizonyosodjon arról, hogy a felhasználó nem tud megnyitni egy már megnyitott fájlt:

Almakró1()

'1. lépés: Határozzon meg egy String változót

    Dim FName Változatként

    Dim FNFileOnly As String

'2. lépés: A GetOpenFilename Method aktiválja a párbeszédpanelt

    FName = Application.GetOpenFilename( _

            FileFilter:="Excel-munkafüzetek,*.xl*", _

            Title:="Válasszon munkafüzetet a megnyitáshoz", _

            MultiSelect:=False)

'3. lépés: Nyissa meg a kiválasztott fájlt, ha még nincs megnyitva

    Ha FName <> False Akkor

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

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

Leave a Comment

Lábjegyzetek és végjegyzetek létrehozása a Word 2013-ban

Lábjegyzetek és végjegyzetek létrehozása a Word 2013-ban

Lábjegyzetek és végjegyzetek létrehozása a Word 2013-ban. Részletes útmutató, hogyan készíthet különféle stílusú jegyzeteket bibliográfiai információkhoz vagy magyarázó megjegyzésekhez.

Hogyan lehet kiemelni a statisztikailag kiugró értékeket az Excelben

Hogyan lehet kiemelni a statisztikailag kiugró értékeket az Excelben

Tudjon meg mindent arról, hogyan lehet az Excelben kiemelni a statisztikailag kiugró értékeket, mégpedig egyszerű eszközökkel és módszerekkel. Kiemelt figyelmet fordítunk a kiugró értékek azonosítására és kezelésére.

Hogyan lehet mintát venni az adatokból Excelben

Hogyan lehet mintát venni az adatokból Excelben

Az Excel Mintavételi eszközével véletlenszerűen kiválaszthat elemeket egy adatkészletből vagy választhat minden n-edik elemet. Ismerje meg, hogyan használhatja ezt a hasznos funkciót az adatelemzéshez!

10 klassz trükk a Microsoft Word 2019 programmal

10 klassz trükk a Microsoft Word 2019 programmal

Fedezze fel a Microsoft Word 2019 legjobb trükkjeit, amelyek segítenek a hatékonyabb munkavégzésben. Tudd meg, hogyan használhatod ki a program funkcióit!

Bekezdések igazítása és behúzása a Word 2019-ben

Bekezdések igazítása és behúzása a Word 2019-ben

A Word 2019-ben a bekezdések igazítása és behúzása kulcsfontosságú a dokumentumok megfelelő megjelenítéséhez. Ismerje meg a formázási lehetőségeket és tippeket a hatékonyabb munkához.

Az Excel 2019 Solver használata

Az Excel 2019 Solver használata

Fedezze fel, hogyan használhatja az Excel 2019 Solver bővítményt a komplex problémák megoldására. A célcella, változócellák és kényszerek beállítása lépésről lépésre.

Dinamikus elemek hozzáadásához használja a Word 2019 mezőit

Dinamikus elemek hozzáadásához használja a Word 2019 mezőit

A Word lehetővé teszi dinamikus elemek hozzáadását a dokumentumhoz. Fedezze fel, hogyan lehet különböző mezőket használni a Word programban a dinamikus tartalom létrehozásához.

Oszloptípusok a SharePoint 2010-ben

Oszloptípusok a SharePoint 2010-ben

A SharePoint 2010 oszlopai az adatok tárolására szolgálnak. Fedezze fel a különböző oszlop típusokat és azok alkalmazását a SharePoint rendszeren belül.

A nem kívánt szöveg eltávolítása a Word 2013-ban

A nem kívánt szöveg eltávolítása a Word 2013-ban

A Word 2013 szövegtörlésének képessége kulcsfontosságú, legyen szó szövegalkotásról vagy törlésről. Ismerje meg a hatékony szövegtörlési módszereket!

Hogyan készítsünk fotóalbumot a PowerPoint 2016-ban

Hogyan készítsünk fotóalbumot a PowerPoint 2016-ban

A fotóalbum funkció a PowerPoint 2016-ban lehetővé teszi, hogy egyszerre több fényképet illesszen be egy prezentációba, megkönnyítve ezzel a többszörös képek kezelését.