Autor Zpráva
Jan Mach
Profil
V Excelu je otevřený formulář (UserForm), v němž je okno webbrowseru (jmenuje se WB), do něhož je načteno HTML:
WB.Navigate "about:blank"
WB.Document.write "<HTML>...<BODY>...text s obrázky...<FORM>...</FORM>...text s obrázky...</BODY></HTML>"
Set d = WB.Document
HTML čte obrázky z mé knihovny obrázků a dalších objektů, říkejme jí Knihovna.dll. Ve <FORM> jsou <INPUT-text> a <TEXTAREA>.
Chci programem (nikoli ručně!) zkopírovat obsah okna WB a vložit ho do dokumentu Wordu. Jenže:
Volám-li d.execCommand s parametry postupně "SelectAll", "Copy", "Unselect" a ve Wordu
- PasteSpecial jako HTML, nepřenesou se obrázky (díky čtení z .dll).
- PasteSpecial jako RTF, obrázky se přenesou (zkomolené, ale to jde řešit), leč z tagu <FORM> se přenese jen popisný text, tagy <INPUT-text> a <TEXTAREA> se nepřenesou.
Zatím to řeším takto: Do Wordu vložím (PasteSpecial) jako RTF a pod to jako HTML, v druhé části celkem složitě najdu začátek a konec toho, co bylo tagem <FORM>, toto zkopíruju, část vloženou jako HTML smažu, ve zbylé, první části opět hledám začátek a konec trosek z tagu <FORM> a tento blok přepíšu zkopírovanými daty. Funguje to, ale je to poněkud trapné a nevkusné.

Otázky
1. Znáte způsob, jak obsah okna prohlížeče (zde WB) dostat do Wordu, aby se nic neztratilo?
2. Anžto to asi nejde - existuje způsob, jak (programem!!!) ve WB vyselektovat element (zde <FORM>...</FORM>), aby pak stačilo
d.execCommand "Copy",
což by nebyl problém vložit jako HTML na správné místo v dokumentu Word, do nějž předtím byl vložen celý obsah WB jako RTF?

Omlouvám se, že jsem se tak podrobně rozepsal, ale snad se úspěšné řešení úlohy
"obsah prohlížeče (či programem nalezenou část obsahu) vlož programem do Wordu a tam nějak učeš"
může hodit více lidem.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0