2008-10-02 13 views
6

Używam Visual Basic i interfejsu automatyki do pobierania ciągów z zewnętrznej aplikacji. Łańcuchy te zawierają proste kody formatowania html (<b>, <i> itd.). Czy istnieje jakaś łatwa funkcja w języku Visual Basic for Word, aby wstawić te ciągi do dokumentu programu Word i przekonwertować kody formatowania html na formatowanie słów?Jak wstawić łańcuchy sformatowane w formacie HTML do dokumentu programu Microsoft Word przy użyciu języka Visual Basic z zachowaniem formatowania?

Odpowiedz

0

AFAIK nie ma wbudowanej funkcji do tego w VBA. Będziesz musiał napisać to sam, co nie byłoby zbyt trudne, gdybyś na przykład wypróbował je, parsując np. <b>, <i>, <a> and <p>,. Wszystkie inne znaczniki musiałyby zostać zignorowane.

12

Oto link, aby dodać HTML do schowka przy użyciu VB:

http://support.microsoft.com/kb/274326

Gdy masz HTML na schowka, wkleić go do PDF za pomocą czegoś takiego:

ActiveDocument.Range.PasteSpecial ,,,,WdPasteDataType.wdPasteHTML 

Jest to odpowiednik wycinania i wklejania ręcznie.

+0

Wielką pomoc !! daj temu facetowi akceptację! –

1

Zastosowanie InsertFile

Set objdoc = objInsp.WordEditor 
Set objword = objdoc.Application 
Set objsel = objword.Selection 
objsel.WholeStory 
vs_html = "<html><body>" + vs_body + "</body></html>" 
vs_file = "C:\temp\1.html" 
Call DumptoFile(vs_file, "", vs_html, False) 
RetVal = objsel.InsertFile(vs_file, , , False, False) 
+0

WOW! Prosty i kuloodporny. : D (Oczywiście będą pewne różnice w używaniu% TEMP%, czy coś takiego, i potrzebujemy jakiegoś rozwiązania DumpToFile(), ale jest to powszechnie dostępne w sieci.) – MGM