Word2html

Программирование на Visual Basic for Applications
AsDev
Новичок
Новичок
 
Сообщения: 35
Зарегистрирован: 30.10.2004 (Сб) 11:50

Word2html

Сообщение AsDev » 09.07.2005 (Сб) 7:40

Есть такая проблемка.Нужно конвертировать документ word в html.В документе куча формул,графиков ,таблиц.Сейчас я разрабатываю макрос на VBA(макросы в word'е).Если у кого-нибудь есть наработки в этой области поделитесь плиз

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 09.07.2005 (Сб) 9:25

Эээээ... Файл :arrow: Сохранить как :arrow: В формате HTML :?:
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

AsDev
Новичок
Новичок
 
Сообщения: 35
Зарегистрирован: 30.10.2004 (Сб) 11:50

Сообщение AsDev » 10.07.2005 (Вс) 6:48

Говоришь файл->сохранить как...М-да ....Html код word'а это просто ужас.Файлы настолько засорены лишеними тэгами,что порой вордовские html'ки занимают в десятки раз больше ,чем чистый html код.Поэтому и пишу макрос для конвертирования в чистый html 8)

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 10.07.2005 (Вс) 7:13

Гмм, мне не хотелось бы ломать кайф но у Word 2002 aka Word XP есть опция сохранения в Web page filtered. Сравните результаты:

Web page filtered писал(а):<html>

<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1251">
<meta name=Generator content="Microsoft Word 10 (filtered)">
<title>Здраствуйте, дорогие ребята</title>

<style>
<!--
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman";}
@page Section1
{size:595.3pt 841.9pt;
margin:56.7pt 42.5pt 56.7pt 85.05pt;}
div.Section1
{page:Section1;}
-->
</style>

</head>

<body lang=RU>

<div class=Section1>

<p class=MsoNormal>Здраствуйте, дорогие ребята! Сегодня Хрюша в постели, у него
свинка...</p>

</div>

</body>

</html>



и

Web page писал(а):<html xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1251">
<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 10">
<meta name=Originator content="Microsoft Word 10">
<link rel=File-List href="Здраствуйте_files/filelist.xml">
<title>Здраствуйте, дорогие ребята</title>
<!--[if gte mso 9]><xml>
<o:DocumentProperties>
<o:Author>FAKK2</o:Author>
<o:LastAuthor>FAKK2</o:LastAuthor>
<o:Revision>1</o:Revision>
<o:TotalTime>1</o:TotalTime>
<o:Created>2005-07-10T04:10:00Z</o:Created>
<o:LastSaved>2005-07-10T04:11:00Z</o:LastSaved>
<o:Pages>1</o:Pages>
<o:Words>10</o:Words>
<o:Characters>61</o:Characters>
<o:Company>Home</o:Company>
<o:Lines>1</o:Lines>
<o:Paragraphs>1</o:Paragraphs>
<o:CharactersWithSpaces>70</o:CharactersWithSpaces>
<o:Version>10.2625</o:Version>
</o:DocumentProperties>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:GrammarState>Clean</w:GrammarState>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:ApplyBreakingRules/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
</w:WordDocument>
</xml><![endif]-->
<style>
<!--
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0in;
margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";}
@page Section1
{size:595.3pt 841.9pt;
margin:56.7pt 42.5pt 56.7pt 85.05pt;
mso-header-margin:.5in;
mso-footer-margin:.5in;
mso-paper-source:0;}
div.Section1
{page:Section1;}
-->
</style>
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";}
</style>
<![endif]-->
</head>

<body lang=RU style='tab-interval:35.4pt'>

<div class=Section1>

<p class=MsoNormal>Здраствуйте, дорогие ребята! Сегодня Хрюша в постели, у него
свинка...</p>

</div>

</body>

</html>
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

AsDev
Новичок
Новичок
 
Сообщения: 35
Зарегистрирован: 30.10.2004 (Сб) 11:50

Сообщение AsDev » 10.07.2005 (Вс) 8:43

А нормальный html выглядит примерно вот так:

<html>
<body>
<p>Здраствуйте, дорогие ребята! Сегодня Хрюша в постели, у него
свинка...</p>
</body>
</html>

Не правда ли немножко покороче?

FaKk2
El rebelde gur&#250;
El rebelde gur&#250;
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 10.07.2005 (Вс) 18:54

AsDev
Никак нет, почитай стандарт XHTML, коротый заменил HTML.
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 11.07.2005 (Пн) 9:29

FAKK2, может, кому-то он что-то и заменил, но я бы лично предпочел получить на выходе именно то, что писал AsDev. А уж потом самому поставить link на stylesheet, оформить текст и т. д.

AsDev, тебе обязательно писать все самому? Если в яндексе набрать "Word2html", вылезают ссылки на соотв. программу. Я, правда, ей не пользовался, так что, может быть, это и не то, что нужно.

Я сам когда-то нечто подобное писал, все было очень просто - через find. Правда, и умел этот макрос только выделять bold-italic-underline и расставлять абзацы.

AsDev
Новичок
Новичок
 
Сообщения: 35
Зарегистрирован: 30.10.2004 (Сб) 11:50

Сообщение AsDev » 11.07.2005 (Пн) 16:09

Качество соответствующих программ в инете далеко не удовлетворительное,поэтому и приходится самому писать макрос.В документах куча формул,таблиц и др,поэтому быстрее написать макрос чем переделывать код вручную.

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 11.07.2005 (Пн) 16:12

AsDev

Точно. Перед тем кака самому макрос писать, надо бы стандарты поизучать.

FaKk2
El rebelde gur&#250;
El rebelde gur&#250;
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 11.07.2005 (Пн) 17:48

uhm

Ты в курсе что ты не единственный человек на Земле? И не ты пишешь тот единственный браузер которым пользуется все население.

Если макрос не будет соблюдать стандарты, это во первых плохой тон, а во вторых в будущем могут появится браузеры которые неправильно интерпретируют документ подготовленный макросом.
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 11.07.2005 (Пн) 21:17

w3.org писал(а):<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
<TITLE>My first HTML document</TITLE>
</HEAD>
<BODY>
<P>Hello world!
</BODY>
</HTML>


Никаких <meta...>, никаких <div...>, никаких <style...>.

Я не призываю намеренно нарушать стандарты, но

а) XHTML не заменил HTML, точно так же (имхо), как VB.NET не заменил VB;

б) встроенный генератор Word'а генерит не самый лучший код;

в) вам шашечки или ехать? :) Если ты пишешь сайт для внутреннего пользования, так ли уж важно соблюдать все стандарты?

Кто разубедит меня в пунктах а) и б) ?


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 95

    TopList  
cron