Excel gyik rész i kation


Excel FAQ I. rész: Excel.Application

Hogyan lehet feltölteni egy új példányt az Excel vagy csatlakozni egy futó példányát Excel.exe? Hogyan húzza az Excel és zárja be a másolat?

Határozza meg az új példány a Excel.Application akár futás vagy csatlakozott egy már futó, használat TExcelApplication.ConnectKind tulajdon. Alapértelmezés szerint ez a tulajdonság ckRunningOrNew (állandó meghatározott egység OleServer). Azonban, akkor ajánlott, ha nem különösen nagy szükség van, mindig fut egy új példányt a Excel.Application konfliktusok elkerülése érdekében egy futó példányát Excel.Application elején. TExcelApplication.AutoQuit ingatlan a kivitelező az alapértelmezett False A (csak ExcelXP modul True) - ez azt jelenti, hogy ha azt akarjuk, hogy mikor húzza ki a teljes Excel munka (közel), akkor meg kell hívni TExcelApplication.Quit módszer vagy állítsa be az egyenlő TExcelApplication.AutoQuit igaz.

Mint mondják, a „Best Practices for Beállítási tartomány Properties”. „A kód az Selection generált Excel makró felvétel, gyakran használják kimutatására egy tárgy, vagy módszer, hogy működni fog. Ez egy jó ötlet, kivéve azt a tényt, hogy a rögzített makrót nincs optimalizálva a felhasználó számára. Jellemzően, az Excel, amikor rögzíti a makró a kiválasztása és megváltoztathatja az objektum kiválasztása a felvétel Mi a feladat. " Ie Válogatás használata opcionális, és nem ajánlott a fejlesztő. Idézet ugyanarról a helyről: „A gyakorlatban, hívja a Select módszer az objektum csak akkor, ha soha nem használja a Select módszer, amikor elhatározta, hogy megváltoztatja a felhasználó által kiválasztott elem egyszerűen azért, mert kényelmes az Ön számára, mint a fejlesztő, ha meg a tulajdonságait a Range objektum, mindig van .. alternatíva. az elutasítást a Select módszerrel nem csak teszi a kód gyorsabb., de kérjük, a felhasználók a program (ez teszi a felhasználók elégedettségét)”. Ezt a témát érintette itt.

Miért nem használja Excel.Application.Range, és meg kell ExcelWorksheet.Range?

Segítségével ExcelApplication.Range lehetővé teszi, hogy csak az aktív munkalapon aktív munkafüzet, ha kinyitja a munka közben egy másik könyv, avagy más aktív munkalapot a munkafüzet (például egy új oldal), az adatok fognak tenni azt a jelenleg aktív lap. Ahhoz, hogy ne essen egy kellemetlen helyzet, mindig használja a Range objektum ExcelWorksheet objektumot. Ez nem csak védi a kód beírásával „ahol Isten”, de írni az adatokat több oldalt, és még könyveket megváltoztatása nélkül ActiveSheet és ActiveCell.

Ha az Excel fut, és a felhasználó az Excel, ugyanabban az időben, minden olyan cselekménytől, megpróbál csatlakozni az Excel és hozzájárulnak adatok azt, okozza a hibát. Hogyan kerüljük meg?

Amikor dolgozik fejlett Excel alkalmazás, akkor foglalt, ha a felhasználó szerkeszti az értéket egy sejt, vagy nyitott, vagy modális párbeszédablak (például „Megnyitás”) ebben az időben. E helyzet enyhítése érdekében, mindig elkezd egy új példányt a Excel.Application és telepíteni Interaktív tulajdonságot False, akkor megtiltják a felhasználó bármit is tenni Excel'e vagy zárja be a futó példányát Excel.Application: