|
|
|
В Word сохранить текст без XML тегов
|
|||
|---|---|---|---|
|
#18+
Здравствуйте Есть документ Word. Нужно , чтобы XML теги в документе не сохранялись, при сохранении всего документа. Так должно работать: Мой макрос в документе Word добавляет скрытую текстовую метку и сохраняет документ. После этого на месте сохранённой скрытой текстовой метки ставит XML тег. Добавляет НОВУЮ скрытую текстовую метку, и сохраняет документ, НО первоначальный XML-тег не должен сохраниться. XML -теги добавляю как простой текст <TEG1>...</NTG1> Подскажите пожалуйста как это можно сделать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2007, 11:46:39 |
|
||
|
В Word сохранить текст без XML тегов
|
|||
|---|---|---|---|
|
#18+
Emu Все нижесказанное – offtop Поделюсь своими наблюдениями. То насколько быстро вопрошающий получает ответ зависит от нескольких факторов, среди которых один из наиболее весомых – насколько внятно и подробно задан вопрос. Не менее весомым фактором является масштабность поставленной задачи – частные проблемы типа: - "вот мой код и в нем где-то баг – помогите его найти"; - "есть такие-то данные (пример прилагается), нужна формула (макрос) делающий с ними то-то (далее следует внятное описание формата конечного результата)" решаются на форуме гораздо быстрее, чем проблемы типа: - "Необходимо создать БД и оболочку к ней для обобщения присылаемых данных" (хотя желающие помочь находятся и в этом случае). Также важным фактором является то, насколько соответствует тематике форума заданный вопрос. В Вашем конкретном случае мне лично не то чтобы неясно все и совсем. Но начиная прокручивать в голове задачу – возникает масса вопросов, которые требуют по меньшей мере уточнения. На сколько я заметила (опять же это частное мнение) на форуме не так много желающих выпытывать у вопрошающего, а что он собственно подразумевает под тем-то и тем-то (я принадлежу к их числу). Возвращаясь к Вашему вопросу. Лично мне не ясны следующие вещи: - какую версию Word'а Вы юзаете; - что Вы называете XML-тегами; - в каком формате вы сохраняете документ; - что Вы называете скрытой текстовой меткой (скрытые текстовые метки и то, что Вы называете XML-тегами <TEG1>...</NTG1> - это одно и тоже?); - что означает фраза: "на месте сохранённой скрытой текстовой метки (макрос) ставит XML тег" - что означает фраза: "(макрос) добавляет НОВУЮ скрытую текстовую метку, и сохраняет документ" (куда добавляет метку) - что означает фраза: "НО первоначальный XML-тег не должен сохраниться" (какой XML-тег является первоначальным) В общем, получается такая картина (может я чего-то упускаю): перед Вами стоит некая задача, на обдумывание которой Вы потратили какое-то количество времени (часов, дней) и придумали алгоритм ее решения. Теперь Вам нужна реализация алгоритма в виде кода. Вы приводите на форуме часть алгоритма и ожидаете увидеть в ответ работоспособный код. Но проблема в том, что некоторым гражданам и гражданкам не ясна сама задача. Ваша задача не является частной в смысле "вот код, что в нем не так?". По-видимому, есть резон потратить время на общую постановку задачи, причем важно уточнять в каком значении Вы используете те или иные термины. Следующим этапом подробно изложить свой вариант алгоритма решения (не факт, что он будет оптимальным - очень часто алгоритм составляется исходя из собственных представлений о возможностях языка реализации). Ну и уж потом задаваться вопросами его реализации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2007, 13:14:25 |
|
||
|
В Word сохранить текст без XML тегов
|
|||
|---|---|---|---|
|
#18+
Вот! Настоящий манифест форумчанам, желающим быстро получить чёткий и краткий ответ... (всем буду советовать читать его, прежде чем начинать задавать вопрос) Специально старался писать максимально кратко и по сути ------------------------------------------------------------ 1. Версия Word 2003 профессиональный выпуск 2. XML-теги - Не берутся из какого-то шаблона. Они заранее определены в коде макроса. Примитивно подставляю их по условию (<тег>выделенный текст в документе Word</тег> ): Код: plaintext 1. 2. Код: plaintext 4. скрытая текстовая метка - просто текст '#Q1' с параметром шрифта HIDDEN=True например: '#Q1какой-нибудь текст#Q1' #Q1 - здесь скрытые метки, чтобы потом найти текст между ними, и заключить этот текст в теги: <TEG1>какой-нибудь текст</TEG1> ------------------------------------------------------------------------------------------------ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2007, 21:03:22 |
|
||
|
В Word сохранить текст без XML тегов
|
|||
|---|---|---|---|
|
#18+
Кратко как вышеописанное работает: Выделяю текст в документе Word. Например "добрые люди всегда помогут". Нажимаю "добавить тег" (кнопка в моём макросе) - макрос делает следующее: 1. Добавляет скрытые метки #Q1добрые люди всегда помогут#Q1 (сам текст "добрые люди всегда помогут", при этом, не является скрытым) 2. отключает показ скрытого текста - у которого в параметре шрифта HIDDEN=True 3. сохраняет документ Word (просто ActiveDocument.Save) 4. ... (опускаю) 5. ставит XML-теги (выше описано как ) <TEG1>#Q1добрые люди#Q1</TEG1> - (#Q1 скрыты, и не показываются) Вот эти теги сохранять то и не нужно . Они лишь визуально нужны ---------- НО когда операции (которые описаны выше) повторяются, то документ сохраняется вместе с этими тегами. А этого как раз и не нужно. ------------------------------------- В итоге получится должен документ с скрытыми метками в разных частях документа. Это нужно для того, чтобы при открытии этого документа, расставлять теги (из БД) на место тех самых меток. Как же сделать так, чтобы эти теги не сохранялись? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2007, 21:23:34 |
|
||
|
В Word сохранить текст без XML тегов
|
|||
|---|---|---|---|
|
#18+
Emu Стало гораздо понятней, что должно получиться в результате всех телодвижений (и это здорово). Сначала вопрос: у Вас скрытые метки и теги имеют числовой индекс (по крайней мере – цифру 1). Так вот – цифра в теге – это порядковый номер тега (или еще какой-либо номер) <TEG n >, #Q n или все теги и метки так и будут выглядеть: <TEG1>, #Q1? По поводу реализации идея такая: перед сохранением документа теги <TEG1> и </TEG1> удалять, документ сохранять, затем теги по новой расставлять. Все это делать в обработчике события DocumentBeforeSave объекта Application (как его подключить другая история, но все это реализуемо). В этой схеме мне не нравятся несколько моментов: во-первых, если документ большой - будет наблюдаться некоторое подтормаживание при сохранении; во-вторых, если Вы не согласитесь изменить формат скрытых меток (т.е. различать открывающую и закрывающую метки), то вряд ли вообще что-то получится. Если в течении дня ни кто не предложит иной вариант решения проблемы – я выложу рабочий пример по своей схеме. Только вот про метки и теги сделайте разъяснения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2007, 12:51:16 |
|
||
|
В Word сохранить текст без XML тегов
|
|||
|---|---|---|---|
|
#18+
Сами теги могут повторяться. В документе может быть много тегов одного вида. А вот скрытые метки у меня уникальны - и, по идеи, трудностей поиска между этими метками, составить не должно. Поэтому и формирую их таким образом: Код: plaintext авторперед сохранением документа теги <TEG1> и </TEG1> удалять, документ сохранять, затем теги по новой расставлять. Возникала такая идея, но как Вы верно заметили, если документ очень большой (а может быть лекция размером 200стр.), то это слишком затратно. Но на крайний случай, буду использовать его: - будет спец. кнопка в макросе "сохранить документ", и в обработчике события, придётся по каждой метке проходить (или по строке) и удалять теги. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2007, 19:00:51 |
|
||
|
В Word сохранить текст без XML тегов
|
|||
|---|---|---|---|
|
#18+
Хотя может в Word есть такая фича, применить операцию к определённому виду текста. Тогда можно было бы применить SAVE к тексту, допустим, синего цвета. Т.е. сохранять весь текст, что не синий :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2007, 19:04:21 |
|
||
|
В Word сохранить текст без XML тегов
|
|||
|---|---|---|---|
|
#18+
Сделал! Расскажу как, может кому пригодится. -------------------------------------- мне нужно было добавлять теги в текст документа из макроса, причём теги заносились бы в БД Access, а отображались в Word. В результате, добавляю тег в текст (и через запрос в БД). Теги в тексте сохраняются как закладки - это существенно облегчает и ускоряет их поиск и замену. Когда добавил теги в документ - сохраняю его (через макрос). Для этого в документе теги легко находятся и заменяются на простые закладки (просто текст). Когда документ снова открывается, то производится выборка из БД, и теги расставляются на место закладок... В итоге не нужно открывающих и закрывающих скрытых меток... Код сократился раза в полтора :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2007, 17:06:01 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=34342201&tid=2183399]: |
0ms |
get settings: |
7ms |
get forum list: |
22ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
56ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 197ms |
| total: | 361ms |

| 0 / 0 |
