Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / В Word сохранить текст без XML тегов / 8 сообщений из 8, страница 1 из 1
18.02.2007, 11:46:39
    #34338955
Emu
Emu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Word сохранить текст без XML тегов
Здравствуйте

Есть документ Word.
Нужно , чтобы XML теги в документе не сохранялись, при сохранении всего документа.

Так должно работать:
Мой макрос в документе Word добавляет скрытую текстовую метку и сохраняет документ. После этого на месте сохранённой скрытой текстовой метки ставит XML тег.
Добавляет НОВУЮ скрытую текстовую метку, и сохраняет документ, НО первоначальный XML-тег не должен сохраниться.

XML -теги добавляю как простой текст <TEG1>...</NTG1>



Подскажите пожалуйста как это можно сделать
...
Рейтинг: 0 / 0
18.02.2007, 13:14:25
    #34339033
lena_####
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Word сохранить текст без XML тегов
Emu

Все нижесказанное – offtop
Поделюсь своими наблюдениями. То насколько быстро вопрошающий получает ответ зависит от нескольких факторов, среди которых один из наиболее весомых – насколько внятно и подробно задан вопрос. Не менее весомым фактором является масштабность поставленной задачи – частные проблемы типа:
- "вот мой код и в нем где-то баг – помогите его найти";
- "есть такие-то данные (пример прилагается), нужна формула (макрос) делающий с ними то-то (далее следует внятное описание формата конечного результата)"
решаются на форуме гораздо быстрее, чем проблемы типа:
- "Необходимо создать БД и оболочку к ней для обобщения присылаемых данных"
(хотя желающие помочь находятся и в этом случае).
Также важным фактором является то, насколько соответствует тематике форума заданный вопрос.

В Вашем конкретном случае мне лично не то чтобы неясно все и совсем. Но начиная прокручивать в голове задачу – возникает масса вопросов, которые требуют по меньшей мере уточнения. На сколько я заметила (опять же это частное мнение) на форуме не так много желающих выпытывать у вопрошающего, а что он собственно подразумевает под тем-то и тем-то (я принадлежу к их числу).

Возвращаясь к Вашему вопросу.

Лично мне не ясны следующие вещи:
- какую версию Word'а Вы юзаете;
- что Вы называете XML-тегами;
- в каком формате вы сохраняете документ;
- что Вы называете скрытой текстовой меткой (скрытые текстовые метки и то, что Вы называете XML-тегами <TEG1>...</NTG1> - это одно и тоже?);
- что означает фраза: "на месте сохранённой скрытой текстовой метки (макрос) ставит XML тег"
- что означает фраза: "(макрос) добавляет НОВУЮ скрытую текстовую метку, и сохраняет документ" (куда добавляет метку)
- что означает фраза: "НО первоначальный XML-тег не должен сохраниться"
(какой XML-тег является первоначальным)

В общем, получается такая картина (может я чего-то упускаю):
перед Вами стоит некая задача, на обдумывание которой Вы потратили какое-то количество времени (часов, дней) и придумали алгоритм ее решения. Теперь Вам нужна реализация алгоритма в виде кода.
Вы приводите на форуме часть алгоритма и ожидаете увидеть в ответ работоспособный код.

Но проблема в том, что некоторым гражданам и гражданкам не ясна сама задача. Ваша задача не является частной в смысле "вот код, что в нем не так?". По-видимому, есть резон потратить время на общую постановку задачи, причем важно уточнять в каком значении Вы используете те или иные термины. Следующим этапом подробно изложить свой вариант алгоритма решения (не факт, что он будет оптимальным - очень часто алгоритм составляется исходя из собственных представлений о возможностях языка реализации). Ну и уж потом задаваться вопросами его реализации.
...
Рейтинг: 0 / 0
18.02.2007, 21:03:22
    #34339476
Emu
Emu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Word сохранить текст без XML тегов
Вот!
Настоящий манифест форумчанам, желающим быстро получить чёткий и краткий ответ...
(всем буду советовать читать его, прежде чем начинать задавать вопрос)

Специально старался писать максимально кратко и по сути
------------------------------------------------------------
1. Версия Word 2003 профессиональный выпуск
2. XML-теги - Не берутся из какого-то шаблона.
Они заранее определены в коде макроса.
Примитивно подставляю их по условию (<тег>выделенный текст в документе Word</тег> ):

Код: plaintext
1.
2.
   Application.Selection.TypeText '<TEG1>'
     Application.Selection.TypeText OldText
   Application.Selection.TypeText '</TEG1>'
3. Документ сохраняется в том же формате, что и был - DOC (просто использую )
Код: plaintext
ActiveDocument.Save

4. скрытая текстовая метка - просто текст '#Q1' с параметром шрифта HIDDEN=True
например:
'#Q1какой-нибудь текст#Q1'
#Q1 - здесь скрытые метки, чтобы потом найти текст между ними, и заключить этот текст в теги: <TEG1>какой-нибудь текст</TEG1>
------------------------------------------------------------------------------------------------
...
Рейтинг: 0 / 0
18.02.2007, 21:23:34
    #34339514
Emu
Emu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Word сохранить текст без XML тегов
Кратко как вышеописанное работает:

Выделяю текст в документе Word. Например "добрые люди всегда помогут". Нажимаю "добавить тег" (кнопка в моём макросе) - макрос делает следующее:

1. Добавляет скрытые метки #Q1добрые люди всегда помогут#Q1 (сам текст "добрые люди всегда помогут", при этом, не является скрытым)
2. отключает показ скрытого текста - у которого в параметре шрифта HIDDEN=True
3. сохраняет документ Word (просто ActiveDocument.Save)
4. ... (опускаю)
5. ставит XML-теги (выше описано как )

<TEG1>#Q1добрые люди#Q1</TEG1> - (#Q1 скрыты, и не показываются)

Вот эти теги сохранять то и не нужно . Они лишь визуально нужны
----------
НО
когда операции (которые описаны выше) повторяются, то документ сохраняется вместе с этими тегами. А этого как раз и не нужно.
-------------------------------------

В итоге получится должен документ с скрытыми метками в разных частях документа.
Это нужно для того, чтобы при открытии этого документа, расставлять теги (из БД) на место тех самых меток.

Как же сделать так, чтобы эти теги не сохранялись?
...
Рейтинг: 0 / 0
19.02.2007, 12:51:16
    #34340637
lena_####
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Word сохранить текст без XML тегов
Emu

Стало гораздо понятней, что должно получиться в результате всех телодвижений (и это здорово).
Сначала вопрос: у Вас скрытые метки и теги имеют числовой индекс (по крайней мере – цифру 1). Так вот – цифра в теге – это порядковый номер тега (или еще какой-либо номер) <TEG n >, #Q n
или все теги и метки так и будут выглядеть: <TEG1>, #Q1?

По поводу реализации идея такая: перед сохранением документа теги <TEG1> и </TEG1> удалять, документ сохранять, затем теги по новой расставлять. Все это делать в обработчике события DocumentBeforeSave объекта Application (как его подключить другая история, но все это реализуемо). В этой схеме мне не нравятся несколько моментов: во-первых, если документ большой - будет наблюдаться некоторое подтормаживание при сохранении; во-вторых, если Вы не согласитесь изменить формат скрытых меток (т.е. различать открывающую и закрывающую метки), то вряд ли вообще что-то получится.
Если в течении дня ни кто не предложит иной вариант решения проблемы – я выложу рабочий пример по своей схеме. Только вот про метки и теги сделайте разъяснения.
...
Рейтинг: 0 / 0
19.02.2007, 19:00:51
    #34342194
Emu
Emu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Word сохранить текст без XML тегов
Сами теги могут повторяться. В документе может быть много тегов одного вида.

А вот скрытые метки у меня уникальны - и, по идеи, трудностей поиска между этими метками, составить не должно. Поэтому и формирую их таким образом:
Код: plaintext
hidd_chr = "#Q" + CStr(i)

авторперед сохранением документа теги <TEG1> и </TEG1> удалять, документ сохранять, затем теги по новой расставлять.

Возникала такая идея, но как Вы верно заметили, если документ очень большой (а может быть лекция размером 200стр.), то это слишком затратно. Но на крайний случай, буду использовать его:

- будет спец. кнопка в макросе "сохранить документ", и в обработчике события, придётся по каждой метке проходить (или по строке) и удалять теги.
...
Рейтинг: 0 / 0
19.02.2007, 19:04:21
    #34342201
Уьг
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Word сохранить текст без XML тегов
Хотя может в Word есть такая фича, применить операцию к определённому виду текста.

Тогда можно было бы применить SAVE к тексту, допустим, синего цвета. Т.е. сохранять весь текст, что не синий :))
...
Рейтинг: 0 / 0
21.02.2007, 17:06:01
    #34347881
Emu
Emu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Word сохранить текст без XML тегов
Сделал!

Расскажу как, может кому пригодится.
--------------------------------------
мне нужно было добавлять теги в текст документа из макроса, причём теги заносились бы в БД Access, а отображались в Word.
В результате, добавляю тег в текст (и через запрос в БД). Теги в тексте сохраняются как закладки - это существенно облегчает и ускоряет их поиск и замену. Когда добавил теги в документ - сохраняю его (через макрос). Для этого в документе теги легко находятся и заменяются на простые закладки (просто текст). Когда документ снова открывается, то производится выборка из БД, и теги расставляются на место закладок...

В итоге не нужно открывающих и закрывающих скрытых меток... Код сократился раза в полтора :)
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / В Word сохранить текст без XML тегов / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]