Nepoznám presne zdroj problému, pretože popis bol takto stručný:
„Mám v MS Excel dáta, kde v prvom stĺpci je číslo farby a v druhom je jej hexa kód. Na druhej strane vo Worde mam textové polia, kde môžem zadávať čísla farieb. Po zadaní čísla farby do textového pola by som chcel z Excelu získať hexa kód. A tu je môj problém - ako s použitím makra prepojím Word s Excelom. Vie niekto poradiť?"
Riešenie:
Vytvorenie podkladových súborov
- Najprv som si vytvoril v MS Excel tabuľku s poradovým číslom farby v jednom stĺpci a hex kódom v druhom.
Zdrojová tabuľka, prepojené pole, vyhľadávacia funkcia - Potom som si vytvoril vo Worde textové formulárové pole s názvom záložky Text1 a doplňujúcim textom. Tento dokument bude treba na konci zamknúť aby bolo možné vypĺňať formulárové pole.
Zadanie hodnoty vo Worde s vráteným výsledok z Excelu Následne som skopíroval textové pole Text1 z Wordu do Excelu s prepojením =Word.Document.12|'C:\Users\PB\Desktop\pokus1.docx'!'!OLE_LINK2' Môžete to urobiť aj pomocou príkazu Prilepiť špeciálne a vybrať prepojenie.
Týmto som si zabezpečil synchronizáciu hodnoty z Wordu v bunke Excelu (E1), ktorú budem potrebovať vo vyhľadávacej funkcii.Ďalší krok je vytvorenie vyhľadávacej funkcie =SVYHLEDAT(Text1;A2:B8;2;0), ktorá vyhľadáva hodnotu z prepojenej bunky v tabuľke farieb a ako výsledok vráti hex kód farby (F1).
Posledný krok je skopírovanie bunky, kde je vyhľadávacia funkcia (z bodu 3, F1) do Wordu a znovu s použitím Špeciálneho prilepenia s prepojením. Vznikne tak toto pole {LINK Excel.Sheet.8 "C:\\Users\\PB\\Desktop\\pokus1.xlsx" "List1!R1C6" \a \t \* MERGEFORMAT}
Nakoniec už len treba zamknúť dokument s povolením vypĺňania formulárových polí a zadať hodnotu do Text1. Je pravda, že odozva od zadania poradového čísla vo Worde po zobrazenie hex kódu farby (o riadok nižšie toho istého dokumentu) je trochu dlhšia (u mňa do 5 sekúnd), ale riešenie problému je funkčné. Ak by bolo vo Worde viac textových polí na zadávanie poradových čísiel, tak bude potrebné pre každé urobiť v MS Excel samostatné vyhľadávacie funkcie.
Ak by som niečo podobné potreboval sám, tak by som sa snažil využiť na to len jednu aplikáciu a nekombinoval by som to takto z textu do tabuľky a späť ako sa píše v zadaní problému. ;-)