![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Подскажите в чем проблема.
пытаюсь заменить текст в одной ячейке, но меняется во всей книге ExАpp.activecell.replace(what:='.',replacement:=', '). Хотя в ВБА эта команда меняет только в выделенной.а чтоб везде заменить вообще существует команда ExApp.Cells.replace... Офис 2010. Как же заменить с помощью дельфи? Последний раз редактировалось Snake22, 09.08.2011 в 14:56. |
#2
|
||||
|
||||
![]() Цитата:
Суть заключается в том, что замена происходит в указанном диапазоне, если же он не указан, то замена происходит во всей книге. Код:
ExApp.Range[e.Cells[2,1],e.Cells[4,3]].Replace(What:= '{что меняем}', Replacement:= '{на что меняем}'); //замена произойдет в диапазоне A2:C4 Последний раз редактировалось Ildar-tsr, 12.08.2011 в 09:59. |
#3
|
|||
|
|||
![]() Ага спасибо,в области заменяется норм.
А как же выделить одну ячейку,И если в ней есть искомый текст то заменить его (сам по себе ж эксель умеет поячеечно заменять).сейчас пока написал "ручную" замену,вытаскиваю текст из ячейки,заменяю средствами дельфи символ, и назад присваиваю текст ячейке. Но всё же интересует как средствами экселя это сделать. |
#4
|
||||
|
||||
![]() Глупо звучит, но никак, потому что сама по себе ячейка не является range'м. Попробуйте например следующее:
Код:
ExApp.Range[e.Cells[1,1],e.Cells[1,1]].Replace(What:= '', Replacement:= ''); ![]() P.S. Найдете решение, обязательно поделитесь. Google в помощь Последний раз редактировалось Ildar-tsr, 12.08.2011 в 09:59. |