|
|
| Автор |
Сообщение |
xt3

Зарегистрирован: 28.07.2003 Сообщения: 19895 Откуда: Уфа
|
Добавлено: Ср Янв 24, 2007 6:28 pm Заголовок сообщения: VB макрос |
|
|
помогите бистренько макрос простенький написать
в документе есть таблица (3 колонки, неизвестное количество строк)
она первая в документе (я так понимаю ActiveDocument.Tables(1))
надо по очереди, сверху вниз
брать из ячейки первой колонки текст (я так понимаю ActiveDocument.Tables(1).Cell(i, 1))
использовать этот текст как имя элемента автотекста
а значение этого элемента брать из ячейки третьей колонки тойже строки
остановится когда кончиться таблица 1
пожалуйста помогите
я этот бейсика визуальный в глаза не видел, а интуитивно пытаюсь - что-то еррор один лезет и все |
|
| Вернуться к началу |
|
xt3

Зарегистрирован: 28.07.2003 Сообщения: 19895 Откуда: Уфа
|
Добавлено: Чт Янв 25, 2007 1:02 pm Заголовок сообщения: |
|
|
блин
ну хоть обясните че тут не правильно =(
(к моему ТЗ)
NormalTemplate.AutoTextEntries.Add Name:=ActiveDocument.Tables(1).Cell(2, 1).Range.Text, Range:=ActiveDocument.Tables(1).Cell(2, 3).Range |
|
| Вернуться к началу |
|
Pan

Зарегистрирован: 02.06.2003 Сообщения: 4071 Откуда: теперь Москва
|
Добавлено: Чт Янв 25, 2007 1:25 pm Заголовок сообщения: |
|
|
ты чтоль выложил б табличку.. хотябс заменеными данными..
попробуй одну вещч: там у экселя есть возможность записать макрос. кнопка типа как на магнитофоне - рекорд (запись). жми ее поделай чо нить - походи по табличке.. повыделяй ячейки.. потом глянь этот автоматический макрос - может чо понятней станет...
у меня такое ощущение что вместо ActiveDocument.Tables(1).Cell(2, 1).Range.Text, Range нужно писать ActiveDocument.Sheet(1).Cell(2, 1).Range.Text например.
млин сам уже них непомню.. хотя у меня даже была книженка вба для эксель... и писал я курсовую чтоль как то на нем.. |
|
| Вернуться к началу |
|
xt3

Зарегистрирован: 28.07.2003 Сообщения: 19895 Откуда: Уфа
|
Добавлено: Чт Янв 25, 2007 1:32 pm Заголовок сообщения: |
|
|
спасибо Пан
тока это Word =))
так что shit not happens
я уже другую конструкцию придумал
For entry = 2 To ActiveDocument.Tables(1).Rows.Count
NormalTemplate.AutoTextEntries(ActiveDocument.Tables(1).Cell(entry, 1).Range.Text).Value = ActiveDocument.Tables(1).Cell(entry, 3).Range.Text
Next entry
она работает если я в ручную пишу имя автотеста
например ......AutoTextEntries("месяц").Value = ....
а если как выше написано, ошибку выдает "Запрашиваемый номер семейства не существует"
блин. над такой херней бьюсь =))) |
|
| Вернуться к началу |
|
Dot

Зарегистрирован: 08.06.2005 Сообщения: 632 Откуда: Уфа
|
Добавлено: Чт Янв 25, 2007 3:15 pm Заголовок сообщения: |
|
|
| Мне кажется причина в том что в тексте ячейки служебный символ содержится в конце строкового значения, поэтому и непроходит как параметр для NormalTemplate.AutoTextEntries.Add Name |
|
| Вернуться к началу |
|
Leps

Зарегистрирован: 29.11.2005 Сообщения: 200
|
Добавлено: Чт Янв 25, 2007 3:25 pm Заголовок сообщения: |
|
|
| вы такие умные ОФИГЕТЬ!! |
|
| Вернуться к началу |
|
xt3

Зарегистрирован: 28.07.2003 Сообщения: 19895 Откуда: Уфа
|
Добавлено: Чт Янв 25, 2007 3:25 pm Заголовок сообщения: |
|
|
все! сделал!
все ламошники кроме DOt )
спасибо Dot. я только, что сделал и все заработало. лезу на форум написать что все ламошники, а тут твой пост.
ты в точку попала. именно этот гребанный символ вмешивался. |
|
| Вернуться к началу |
|
Dot

Зарегистрирован: 08.06.2005 Сообщения: 632 Откуда: Уфа
|
Добавлено: Чт Янв 25, 2007 3:35 pm Заголовок сообщения: |
|
|
 |
|
| Вернуться к началу |
|
Tag

Зарегистрирован: 21.04.2003 Сообщения: 2176 Откуда: Уфа
|
Добавлено: Пт Янв 26, 2007 7:21 pm Заголовок сообщения: |
|
|
| хтз, а ты так и не узнал про мой вопрос? |
|
| Вернуться к началу |
|
xt3

Зарегистрирован: 28.07.2003 Сообщения: 19895 Откуда: Уфа
|
Добавлено: Сб Янв 27, 2007 12:26 pm Заголовок сообщения: |
|
|
а ты поточнее напиши что тебе надо!
вообще! тз свое |
|
| Вернуться к началу |
|
|