< návrat zpět

MS Excel


Téma: VBA - Způsob zápisu kódu rss

Zaslal/a 4.1.2020 18:00

StalkerAhoj, nenám žádný problém k řešení, jen spíše ze zvědavosti. Narazil sem na youtube na video o fci dir ve VBA.

Co mě upoutalo, byl zápis
FileName = VBA.FileSystem.Dir("C:\Users\..........")
If FileName = VBA.Constants.vbNullString Then

Vždiť pro stejnou funkčnost stačí:
FileName = Dir("C:\Users\..........")
If FileName = vbNullString Then

Používáte někdo tento způsob zápisu, nebo pužíval? Na zdejším fóru sem na nic takového nenarazil, a ani několik knih o VBA, které tu mám níc takového neuvádějí.

Má vůbec takovýto zápis nějaký benefit např. rychlost?
Zkoušel sem googlit, ale nic kloudného sem nenašel Možná jen neumím formulovat otázku.

Díky za Vaše poznatky 1

Zaslat odpověď >

icon #045477
avatar
Moj nazor: Jedine, co ma napada, je, ze Leila v tomto konkretnom pripade uvedeny zapis pouzila z puheho dovodu, aby ukazala, sucastou ktorej kniznice ci kolekcie je dany objekt. V tomto konkretnom pripade to nema prakticky vyznam.

Niekedy je ale vhodne tu full qualification pouzit, napr. u niektorych funkcii kvoli elegantnejsiemu osetreniu chyby ako navratovej hodnoty.

Trochu teorie mozes najst napr tuna: https://powerspreadsheets.com/excel-vba-object-model/. Alebo si zadaj do Google nieco na sposob "what are the benefits to fully qualify objects in VBA". V niektorych postoch k uvedenej problematike uvadzaju:
1. full qualification ma vplyv na run-time a to tak, ze skript pobezi rychlejsie (neviem posudit, nie som si isty, nakolko viac bodiek v kode by teoreticky malo kod spomalit)
2. full qualification je bezpecnejsi pre zapis kodu - s tym by som asi suhlasit mohol
3. full qualification zapis je menej citatelny - i s tym sa asi da suhlasitcitovat
#045485
Stalker
Ahoj, díky za reakci a zformulování otázky a odkaz. 1
Jak bude chvíle času tak se v tom pošťourám.
Jak už sem psal, jedná se pouze o zvědavost. Vlasně sem to neviděl nikde, ať už se jedná ofóra o VBA či knihy českých nebo zahraničních autorů (walkenbach).

Včera sem procházel jednu z jeho knih a toto "(neviem posudit, nie som si isty, nakolko viac bodiek v kode by teoreticky malo kod spomalit)" tam právě zmiňuje a nabádá k použití WITH...END WITH.
Takže máš pravdu!citovat
icon #045486
avatar
..no, praveze ale Walkenbach na druhej strane tvrdi (udajne), ze full qualification kod zrychluje. Tak som trochu v pomykove..:)
Btw With a End With samo osebe FQ nepopiera...citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje