|
объединять ячейки в worde. | ☑ | ||
---|---|---|---|---|
0
Domanoff26
16.08.13
✎
11:23
|
есть com word,стоки в таблицу добавлять могу, но не могу добавить строки (ячейки) только в одну колонку, а другие оставлять без изменений, есть идея добавлять строку и не нужные колонки объеденять... как это делается через ком, кто знает?
|
|||
1
Масянька
16.08.13
✎
11:24
|
На фига ветки плодить....
|
|||
2
Wobland
16.08.13
✎
11:24
|
я знаю, как это делаится чериз макрозы
|
|||
3
Domanoff26
16.08.13
✎
11:26
|
(2) с этим вообще не работал, долго осваивать?
|
|||
4
Wobland
16.08.13
✎
11:30
|
(3) пара кликов
|
|||
5
Domanoff26
16.08.13
✎
11:34
|
(4) расскажи пжлста
|
|||
6
Domanoff26
16.08.13
✎
11:44
|
блин неужели не формируете из 1с серьезные Word документы?
|
|||
7
Wobland
16.08.13
✎
11:47
|
(5) макросы - запись макроса
макросы - изменить |
|||
8
Domanoff26
16.08.13
✎
11:52
|
(7) а код какой по объединению?
|
|||
9
Новенький_2009
16.08.13
✎
11:57
|
(8) то, что ты увидишь в записи макроса. Вот этот код адаптируешь под ком.
|
|||
10
Domanoff26
16.08.13
✎
12:04
|
(9) а как найти именно этот макрос
|
|||
11
Domanoff26
16.08.13
✎
12:06
|
кнопка изменить к тому же не активна
|
|||
12
manyak
16.08.13
✎
12:08
|
(10) ну ты ваще :)
перед записью можно задать имя макроса, задай по имени и найдешь потом... |
|||
13
Domanoff26
16.08.13
✎
12:15
|
так какой код то? (4) (2)
|
|||
14
manyak
16.08.13
✎
12:16
|
(13) такой код - который получился при записи макроса "имя_макроса"
|
|||
15
Domanoff26
16.08.13
✎
12:18
|
(14) да я не о том, как вообще выглядит программный код макроса объеденяющий ячейки?
|
|||
16
Wobland
16.08.13
✎
12:20
|
(15) запишешь - узнаешь
|
|||
17
manyak
16.08.13
✎
12:27
|
(15) вот например код макроса который пишет твой ник:
я задал перед записью ему-макросу имя Domanoff26, потом по имени нашел его, вытащил код скопировал и вставил сюда:
|
|||
18
Domanoff26
16.08.13
✎
15:51
|
а кто знает как через ком определить набор ячеек,Cell(4,1) - это одна ячейка, а несколько?
|
|||
19
Domanoff26
16.08.13
✎
15:54
|
макрос для выделеных ячеек вот такой Selection.Cells.Merge, но как получитьь этот Selection для ком?
|
|||
20
Rie
16.08.13
✎
15:56
|
(18) Это - не одна ячейка, а диапазон из одной ячейки.
|
|||
21
Domanoff26
16.08.13
✎
15:58
|
(20) вот как его для ком задать?
|
|||
22
Rie
16.08.13
✎
16:01
|
(21) Range
|
|||
23
Domanoff26
16.08.13
✎
16:02
|
(22) fа номера ячеек то куда вставлять? ну те есть сам диапазон как проставлять?
|
|||
24
Wobland
16.08.13
✎
16:03
|
(23) ты думать будешь? или хотя бы читать
|
|||
25
Domanoff26
16.08.13
✎
16:08
|
я понял что range , только для екселя вижу синтаксис в сети, для ворда не понимаю как начальную и конечную ячейку задавать
|
|||
26
Wobland
16.08.13
✎
16:15
|
(25) логично было б подумать, что диапазон задаётся для вордовской таблицы?
|
|||
27
Rie
16.08.13
✎
16:15
|
(25) http://msdn.microsoft.com/en-us/library/office/ff845882.aspx и http://msdn.microsoft.com/en-us/library/office/ff835176(v=office.14).aspx - не поможет?
(MSDN - классная штука; там много полезных и интересных статей). |
|||
28
Domanoff26
16.08.13
✎
16:38
|
(26) это понятно я не могу найти для вордовской
|
|||
29
Domanoff26
16.08.13
✎
16:39
|
(27) а для таблицы нету в этой ссылке ничего
|
|||
30
Rie
16.08.13
✎
16:44
|
(29) Range в Word задаётся начальной и конечной позициями.
Их извлекаете из Cell(i,j) как Start и End. Ну а как получили Range (назовём его r) - то и говорите ему r.Cells.Merge(); |
|||
31
Domanoff26
16.08.13
✎
16:46
|
Docum.Range(табл.Cell(1,1).Range.Start, табл.Cell(1,2).Range.End) вот так? (30)
|
|||
32
Domanoff26
16.08.13
✎
16:47
|
это диапазон.
|
|||
33
Rie
16.08.13
✎
16:52
|
(32) Наверное (если всему всё правильно присвоено).
и к нему теперь - .Cells.Merge() |
|||
34
Domanoff26
16.08.13
✎
16:54
|
(33) при определние диапазона пишет ошибку на cell
|
|||
35
Rie
16.08.13
✎
16:58
|
(34) Ну, значит, не всё всему правильно присвоено.
(Оно же не просто "ошибку на cell" пишет, оно пишет и в чём состоит ошибка). |
|||
36
Domanoff26
16.08.13
✎
17:14
|
(35) спасибо
|
|||
37
Domanoff26
19.08.13
✎
09:56
|
а как скопировать строку или диапазон ячеек например, никто не подскажет?
|
|||
38
Wobland
19.08.13
✎
10:00
|
записать макрос и посмотреть, как оно это делает?
|
|||
39
Domanoff26
19.08.13
✎
10:06
|
(38) Selection.MoveRight Unit:=wdCharacter, Count:=2, Extend:=wdExtend
Selection.MoveUp Unit:=wdLine, Count:=2 Selection.MoveDown Unit:=wdLine, Count:=1 Selection.MoveRight Unit:=wdCharacter, Count:=20, Extend:=wdExtend Selection.InsertRowsBelow 4 Selection.Paste не очень понимаю. как это на коме будет написано |
|||
40
Wobland
19.08.13
✎
10:10
|
(39) копирование не вижу, вставку вижу
|
|||
41
Domanoff26
19.08.13
✎
10:15
|
(40) а как копировать чтоб в макросе отразилась, я контрл ц нажимал и эта операция не отразилась(
|
|||
42
Domanoff26
19.08.13
✎
10:27
|
вообще не понимаю как получить этот Selection в коме, может тут надо использовать Range?
|
|||
43
bborisko
19.08.13
✎
10:38
|
Word = Новый COMОбъект("Word.Application");
Text = Word.selection; а дальше Text.EndKey(); Text.Paste(); и тп. |
|||
44
djekting
19.08.13
✎
10:43
|
Selection.MoveRight Unit:=wdCharacter, Count:=2, Extend:=wdExtend
Selection.EscapeKey Selection.Cells.Merge |
|||
45
Domanoff26
19.08.13
✎
10:50
|
(43) сдесьбудет весь объект как selection? мне нужна только часть таблицы
|
|||
46
Domanoff26
19.08.13
✎
10:51
|
(44) а в КОМе как это все выглядит?
|
|||
47
Domanoff26
19.08.13
✎
11:50
|
ну подскажите как в коме все таки строчку скопировать
|
|||
48
Rie
19.08.13
✎
11:57
|
(47) Word - Сервис - Редактор Visual Basic.
F2 - и смотришь значения констант (например, wdLine - это число 5). Вызовы методов. В отличие от VBA - параметры надо в скобки брать. И - нет именованных параметров, то есть, Unit:= - не надо писать. Порядок параметров и их количество - смотришь, к примеру, в MSDN. Или во встроенной справке Word Basic. |
|||
49
Domanoff26
19.08.13
✎
12:59
|
(48) не могу найти этот selection
табл.Rows(2).range().copy(); - вот это вроде работает, а как ее правильно вставить? |
|||
50
Rie
19.08.13
✎
13:08
|
(49) Метод Select использовать - он вернёт Selection. Дальше над ней можно поиздеваться (особенно если ячейки по столбцам объединять надо).
|
|||
51
Domanoff26
19.08.13
✎
14:08
|
(50) диап = Docum.Range(табл.Cell(3,1).Range.Start, табл.Cell(3,4).Range.End);
//Docum.Range(табл.Cell(1,1).Range.Start, табл.Cell(1,4).Range.End); // табл.Rows(13).range().InsertAfter(диап); табл.range().InsertAfter(диап); почему вот это всталяет не сам диапазон а текст диапазона в последнюю ячейку, что то забыл? |
|||
52
Rie
19.08.13
✎
14:18
|
(51) Потому что InsertAfter "inserts the specified _text_ at the end of a range or selection"?
|
|||
53
Domanoff26
19.08.13
✎
15:25
|
(52)согласен, какой для ячеек метод ? не могу найти
|
|||
54
Rie
19.08.13
✎
15:30
|
(53) Поясни задачу. Если я правильно понял - то есть таблица Word, в ней надо объединить несколько ячеек. Но сейчас почему-то вопросы по копированию. Так что нужно - копировать или объединять?
|
|||
55
Domanoff26
19.08.13
✎
15:45
|
(54) объеденять научилс\я, хочу понять как копировать
|
|||
56
Domanoff26
19.08.13
✎
15:46
|
Docum.Range(табл.Cell(3,1).Range.Start, табл.Cell(3,4).Range.End).select() - Selection не получается, в отладчике неопределено
|
|||
57
Domanoff26
19.08.13
✎
15:47
|
вообще хочу копировать блоки таблиц и вставлять в определенные места
|
|||
58
Rie
19.08.13
✎
16:06
|
(57) Простейший вариант - через буфер обмена.
Например, в твоей таблице скопировать ячейку (3,3) в ячейку (3,4): Docum.Range(табл.Cell(3,3).Range.Start, табл.Cell(3,3).Range.End).Copy(); Docum.Range(табл.Cell(3,4).Range.Start, табл.Cell(3,4).Range.End).Paste(); |
|||
59
Domanoff26
19.08.13
✎
16:13
|
(58) пара минут назад до самого дошло но спсаибо
|
|||
60
Domanoff26
19.08.13
✎
16:17
|
(58) а вот заполнение только каждую ячейку отдельно? т е по по cell(номерстроки,номерколонки) или мложно как нить более удобно?
|
|||
61
Domanoff26
19.08.13
✎
16:23
|
я могу в созданную ячейку добавлять параметр Variables, чтоб потом через Docum.Variables.Item(имяпараметра).Value заполнять таблицу
|
|||
62
Rie
19.08.13
✎
16:46
|
(60) А чем плохо пройти циклом - и записать нужные значения?
(61) В принципе, у Cell есть метод Formula - можно не только переменную вставить. |
|||
63
Domanoff26
20.08.13
✎
10:36
|
(62) а не знаешь, я вот ввожу строку с символами.пс, а в ворде оно отображается как в одну строку просто ссимволом
квадратика, как его реально на новую строку переносить? |
|||
64
Rie
20.08.13
✎
11:15
|
(63) Начать новый абзац - это InsertParagraph
Начать новую строку - это InsertBreak(11). |
|||
65
Domanoff26
20.08.13
✎
16:09
|
Docum.Range(табл.Cell(1,1).Range.Start, табл.Cell(1,4).Range.End); выделяет я так понял ячейки идя слева на право и вниз. а как выделить две строки одно колонки например в диапазон? (54)
|
|||
66
Rie
20.08.13
✎
16:23
|
(66) Воспользоваться методом Merge объекта Cell. Например:
табл.Cell(1,1).Merge(табл.Cell(2,3)); Параметр - ячейка, по какую объединять. |
|||
67
Domanoff26
21.08.13
✎
09:21
|
(66) спасибо, мир не без вас)
|
|||
68
Domanoff26
21.08.13
✎
09:46
|
(66) а не подскажите как добавлять колонку в определенную строку, чтоб не объеденять потом все строки?
|
|||
69
Domanoff26
21.08.13
✎
09:57
|
все отпало нашел
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |