Prepojenie Excel a Word

Narazil som na jednu zaujímavú požiadavku vyriešenia problému s prepojením Wordu a Excelu pomocou VBA. Bolo potrebné na základe hodnoty z Wordu vložiť hodnotu z Excelu späť do Wordu. Skúsil som to urobiť s využitím bežných neprogramátorských funkcii a výsledok je funkčný. Netvrdím, že moje riešenie je najjednoduchšie a jediné existujúce, programátor by to urobil celkom inak, ale v mojom popise ide o to, že niektoré veci môžu zvládnuť aj používatelia - neprogramátori.

Písmo: A- | A+
Diskusia  (0)

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:

  1. Vytvorenie podkladových súborov

    1. 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
      Zdrojová tabuľka, prepojené pole, vyhľadávacia funkcia 
    2. 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
      Zadanie hodnoty vo Worde s vráteným výsledok z Excelu 
  2. 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.

  3. Ď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).

  4. 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}

  5. 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. ;-)

Peter Belko

Peter Belko

Bloger 
  • Počet článkov:  345
  •  | 
  • Páči sa:  15x

Môžete ho stretnúť ako lektora na počítačových školeniach, pri IT konzultáciách vo firmách, na letných terasách a v kaviarňach ako pozoruje dianie okolo seba, ale aj na potulkách po gréckych ostrovoch, pretože počítače nie sú jediné čo ho zaujíma.Ostrovné správy popisuje na osobnej stránke www.dovolenkar.skAktívne prispieva na svoj portál Tipy a triky v MS Office.. Zoznam autorových rubrík:  Tipy a triky MS Office 2013/20Externé tipy a triky MS OfficeSharePoint, spolupráca,Office3Tipy a trikyNávodyStalo sa ...Office 2010/2013 BetaMicrosoft KB článkySúkromnéNezaradené

Prémioví blogeri

Lucia Šicková

Lucia Šicková

4 články
INESS

INESS

107 článkov
Matúš Sarvaš

Matúš Sarvaš

3 články
Pavol Koprda

Pavol Koprda

10 článkov
Zmudri.sk

Zmudri.sk

3 články
reklama
reklama
SkryťZatvoriť reklamu