|
|
|
Метод Paste не работает для объединенных ячеек?
|
|||
|---|---|---|---|
|
#18+
Проблема такая, есть текст в Clipboard, нужно программным путем вызвать метод Paste и вставить его. Все работает, за исключением случая когда Range - это объединенные ячейки. Делаю так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Т.е. вызываю метод Paste и в качестве аргумента даю ему Range, который мне возвращает метод Find (т.е. объект v_Dummy). Когда простая ячейка, все работает, когда объединенная, облом. Метод Find ищет нормально в обоих случаях, т.е. после ORDCOM.Getproperty(v_Dummy, 'Text', 0, v_text) = 0 v_text - не пустой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2007, 12:33:47 |
|
||
|
Метод Paste не работает для объединенных ячеек?
|
|||
|---|---|---|---|
|
#18+
если range это объединенная ячейка, то вставлять надо в range.range("A1") это в на дельфях что ли офис дрессируете ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2007, 12:42:34 |
|
||
|
Метод Paste не работает для объединенных ячеек?
|
|||
|---|---|---|---|
|
#18+
big-dukeесли range это объединенная ячейка, то вставлять надо в range.range("A1") это в на дельфях что ли офис дрессируете ? Нет, это я в Oracle на PL/SQL. Попробовал, результат немного не тот что я ожидал. :) Возник новый вопрос, что тогда возвращает метод Find ? Опишу ситуацию: Есть изначальный регион i_range - это n-ное кол-во строк и столбцов. В нем я ищу, допустим, такой текст "[ГРУЗООТПРАВИТЕЛЬ_ПОДРОБНЫЙ]". Этот текст находится в этом регионе, но в объединенной ячейке. Что возвращает метод Find в этом случае? Спрашиваю, потому как под Ораклом очень проблематично это все оттрассировать. Попытался применить Paste к v_Dummy(то что вернул Find).range("A1") получил ошибку (Description:COM-0002: Invalid Token or no interface for token). Тогда применил Paste к i_range.range("A1"). Вставка прошла, но в 1 ячейку изначального региона. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2007, 13:12:03 |
|
||
|
Метод Paste не работает для объединенных ячеек?
|
|||
|---|---|---|---|
|
#18+
paste используется для Worksheet ActiveSheet.Paste Destination:=Worksheets("Sheet1").Range("D1:D5") PasteSpecial для Range и Worksheet В вашем случае - v_Dummy(то что вернул Find).range("A1") .pastespecial xlPasteAll ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2007, 13:20:01 |
|
||
|
Метод Paste не работает для объединенных ячеек?
|
|||
|---|---|---|---|
|
#18+
big-dukepaste используется для Worksheet ActiveSheet.Paste Destination:=Worksheets("Sheet1").Range("D1:D5") Да, я знаю. Я имел ввиду, что в качестве Destination:=v_Dummy(то что вернул Find).range("A1"). Так не работает. Вообще, при попытке получить Range("A1") у v_Dummy(то что вернул Find) получаю ошибку. Т.е. по устройству этой Оракловой библиотеки, я сначала должен получить новый Range("A1"), а уже потом вызывать у него PasteSpecial. Уже 2 часа бъюсь головой об этот Range и не выходит. Что блин за Range, возвращает этот Find... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2007, 15:17:25 |
|
||
|
Метод Paste не работает для объединенных ячеек?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2007, 15:41:16 |
|
||
|
Метод Paste не работает для объединенных ячеек?
|
|||
|---|---|---|---|
|
#18+
С утра перепробовал все способы вставки текста (из Clipboard) в объединенные ячейки. Метод Find возвращает мне ячейку, допустим с адресом $C$3 (она объединенная), назовем этот Range => X. Итак, не работают такие способы: 1. Если взять Y = X.Range("$A$1") 2. Если взять Y = X.Cells(1,1) и потом сделать ActiveSheet.Paste (Destination := Y) или Y.Select ActiveSheet.Paste То же самое не работает если сделать Y.PasteSpecial. Кто предложит еще какие-нибудь способы? К сожалению, избавиться от объединенных ячеек, никак нельзя. (( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2007, 09:54:24 |
|
||
|
Метод Paste не работает для объединенных ячеек?
|
|||
|---|---|---|---|
|
#18+
Чё то не очень понятно! Выложите пример (файл) какую ячейку в какую нужно скопировать! Чё то вы по-моему не то делаете! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2007, 11:37:58 |
|
||
|
Метод Paste не работает для объединенных ячеек?
|
|||
|---|---|---|---|
|
#18+
Так, еще раз по-порядку алгоритма: Есть изначальный Range, в котором ищется методом Find определенный текст,например, "[ГРУЗООТПРАВИТЕЛЬ_ПОДРОБНЫЙ]". Этот текст нужно заменить на текст находящийся в буфере обмена. Т.е. сделать Past в ячейку, где находится текст "[ГРУЗООТПРАВИТЕЛЬ_ПОДРОБНЫЙ]". Проблемы начинаются тогда, когда текст находится в объединенной ячейке. Метод Past в этом случае не работает. Например, объединены ячейки "C3:M4". Метод Find возвращает мне Range с адресом "С3". Я всячески пытаюсь(как было описано выше) вставить текст в этот Range и Past не срабатывает. DisplayAlerts отключен, естественно. Но код ошибки я все равно получаю и текст не заменяется. Дак вот, есть мысль делать UnMerge, затем Past в "C3", затем выделение "C3:M4" и снова Merge. Проблема в том, что адрес региона, который вернул Find только "С3", как узнать что там "C3:M4" ? Т.е. как узнать адрес объединенных ячеек, если есть только "C3"? Или какое-то менее геморройное решение... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2007, 12:00:44 |
|
||
|
Метод Paste не работает для объединенных ячеек?
|
|||
|---|---|---|---|
|
#18+
Используйте вместо буфера переменную тогда вставить можно будет так Код: plaintext А если из буфера нужно в переменную, то так Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2007, 13:46:57 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=34695971&tid=2182524]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
33ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 339ms |

| 0 / 0 |
