Текущее время: Вс, июл 20 2025, 19:02

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Удалить часть текста WORD
СообщениеДобавлено: Чт, апр 28 2011, 15:36 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, фев 11 2008, 11:54
Сообщения: 359
Откуда: Воронеж
Пол: Мужской
Добрый день. Есть необходимость удалить часть текста WORD без использования макросов. Подскажите как это сделать.
Добавить текст в шаблон может и подходит, но после этого к этой части текста нужно будет применить сброс форматирования(не умею), а потом (возможно, надо тестить) применить некоторое форматирование. Мне видится этот путь сложнее, поэтому уж лучше подскажите как удалить.

_________________
Hормальные люди делают вещи намного более безумные чем всё, что делают сумасшедшие (c) С.Лем


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Удалить часть текста WORD
СообщениеДобавлено: Пт, апр 29 2011, 05:48 
Специалист
Специалист

Зарегистрирован:
Ср, дек 22 2010, 19:49
Сообщения: 114
XXX_:) написал:
Добрый день. Есть необходимость удалить часть текста WORD без использования макросов. Подскажите как это сделать.
Добавить текст в шаблон может и подходит, но после этого к этой части текста нужно будет применить сброс форматирования(не умею), а потом (возможно, надо тестить) применить некоторое форматирование. Мне видится этот путь сложнее, поэтому уж лучше подскажите как удалить.

ДД! Через использование OLE. Закладки в шаблоне (при необходимости). Поиск/Выделение текста + удаление. Не оно?

_________________
Человек готов работать 24 часа в сутки, лишь бы ничего не делать.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Удалить часть текста WORD
СообщениеДобавлено: Пт, апр 29 2011, 06:09 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, авг 05 2008, 19:46
Сообщения: 96
Откуда: С Урала
Чисто теоретические советы - документ содавать с полями WORD и редактировать его через I_OI_DOCUMENT_PROXY (см. SAPRDEMOOFFICEINTEGRATION и SAPRDEMOFORMINTERFACE ).
Но проще все-таки через макрос через тот же класс можно стартануть его либо через OLE - к стати его можно и не через файл передавать - а импортировать из текстовой строки
Code:
Application.VBE.ActiveVBProject.VBComponents("MyModule").CodeModule.AddFromString "Dim intJack As Integer"

( это из VBAшного примера - советы ведь теоретические )


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Удалить часть текста WORD
СообщениеДобавлено: Пт, апр 29 2011, 07:28 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, фев 14 2011, 07:26
Сообщения: 80
Откуда: Альфа Центавра
Пол: Мужской
NeMurometz написал(а):
Через использование OLE.

Конечно можно писать через всякие create object, get property of, и flush итп, но
1) Код надо писать самому наобум вслепую.
2) Надо передавать даже Optional параметры для вызова методов, так как ABAP поддерживает передачу параметров по позициям, а не по именам как в VBA. (В документации написано, что это временно :) ). Поэтому для MS Word использовать OLE становиться практический невозможно, где таких параметров не только куча (под 20 кое-где) но и зачастую параметры передаются не по значению, а по ссылке.

про
NeMurometz написал(а):
Закладки в шаблоне
что-то не понял

NickS написал(а):
Code:
Application.VBE.ActiveVBProject.VBComponents("MyModule").CodeModule.AddFromString "Dim intJack As Integer"

Зависит от уровня безопасности макросов и галочки "Доверять доступ к Visual Basic Project". Некоторые антивирусы любое обращение к VBProjec расценивают как вирус.

IMHO для ехсеl лучше всего использовать надстройки xla. А для word использовать обычные макросы вызываемые через DOI.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Удалить часть текста WORD
СообщениеДобавлено: Пт, апр 29 2011, 09:03 
Специалист
Специалист

Зарегистрирован:
Ср, дек 22 2010, 19:49
Сообщения: 114
matik написал:
NeMurometz написал(а):
Через использование OLE.

Конечно можно писать через всякие create object, get property of, и flush итп, но
1) Код надо писать самому наобум вслепую.
2) Надо передавать даже Optional параметры для вызова методов, так как ABAP поддерживает передачу параметров по позициям, а не по именам как в VBA. (В документации написано, что это временно :) ). Поэтому для MS Word использовать OLE становиться практический невозможно, где таких параметров не только куча (под 20 кое-где) но и зачастую параметры передаются не по значению, а по ссылке.

Все верно - самому не нравится (никто и не говорил, что это будет просто :o ), но по условию задачи - требуется не использовать макросы.
matik написал:
про
NeMurometz написал(а):
Закладки в шаблоне
что-то не понял

ЧистА для облегчение труда. Если требуется удаление текста в определенных (заранее известных) местах, то, можно поставить там закладки и переходить по ним GoToBookmarks (что-то подобное)

_________________
Человек готов работать 24 часа в сутки, лишь бы ничего не делать.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Удалить часть текста WORD
СообщениеДобавлено: Пт, апр 29 2011, 11:21 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, авг 05 2008, 19:46
Сообщения: 96
Откуда: С Урала
Интересно на чем основано предубеждение перед макросами? У нас то же было все запрещено до R/3 по соображениям безопасности. А сейчас запускай пожалуйста...
Еще чисто теоретический вариант через скрипт
Code:
CREATE OBJECT MSScriptControl_ScriptControl 'MSScriptControl.ScriptControl'.
SET PROPERTY OF MSScriptControl_ScriptControl 'LANGUAGE' = 'vbscript'.

Я так PageSetup.Zoom=false для EXCEL без макросов ставил. То же из-за религиозных соображений запрет...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Удалить часть текста WORD
СообщениеДобавлено: Пт, апр 29 2011, 13:05 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
XXX_:) написал:
Добрый день. Есть необходимость удалить часть текста WORD без использования макросов. Подскажите как это сделать.....

Для начала опишите, как этот документ формируется, каким способом?

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Удалить часть текста WORD
СообщениеДобавлено: Ср, май 04 2011, 19:29 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, фев 11 2008, 11:54
Сообщения: 359
Откуда: Воронеж
Пол: Мужской
Удалил через OLE. Использовал таблицы, хотя наверное можно было бы и метки. Спасибо всем.

_________________
Hормальные люди делают вещи намного более безумные чем всё, что делают сумасшедшие (c) С.Лем


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 3 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB