Vytváříte tedy tabulku, která vyžaduje, aby uživatel zadal kód ZipCode, město a stát … Jak vytvoříte chytřejší tabulku, která automaticky vyplní město a stát poté, co uživatel zadá pouze kód ZipCode?
Podíval jsem se na některé základní návody, které weboví devolopéři používají s XMLHttpRequest, jako je tento, a inspiroval mě k vytvoření stejné funkce tohoto skvělého tutoriálu XMLHttpRequest v Excelu (demo si posuňte dolů).
Úspěch! Sestavil jsem rychlý flashový film, abych demonstroval klíčování zipu a automatické vrácení města a státu v Excelu.
A tady je ke stažení tabulka (není tam tolik kódu).
Jak to funguje
1. Potřebujete databázi, která obsahuje PSČ/stát/město. Získejte to zde (šel jsem s MYSQL, jak bylo ukázáno).
2. Vraťte město a stát na základě dotazu na PSČ z databáze, k vrácení textu jsem použil PHP.
3. Zpět v aplikaci Excel: Když se změní pole ZipCode, spustí se událost Worksheet_Change a odešle se požadavek přes WinHTTP na stránku PHP, která vrátí město a stát žádosti zpět do Excelu.
4. Pomocí funkce Split () analyzuji řetězec a zapíšu výsledky do tabulky.
Poznámky
Proč nevrátit XML?
Je to pouze dvouslovný řetězec a s textem se snadno pracuje, když existují pouze dvě slova. XML však mohlo být snazší, protože jsem mohl právě namapovat dvě pole výsledků na buňky a nazvat vlastní Importovat URL: pokaždé.
Proč se prostě nepřipojíte přímo k DB?
Ano, to je možné, ale já bych raději vytvořil „službu“, takže ji může používat jakákoli aplikace, kterou vytvořím, na jakékoli platformě.
Proč prostě neimportujete Zipy do Excelu a neprovedete vyhledávání?
Možné, ale pokud tabulku používá více sešitů, je třeba provést změnu u všech.
Zipy v tomto příkladu mohou být zastaralé.
Testováno pouze v XL2003.