Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.04.2011, 13:19   #1
diletant2
 
Регистрация: 11.04.2011
Сообщений: 6
По умолчанию найти текст в строке таблицы и удалить соответствующие столбцы

ОК!
в MS Word имеется произвольная таблица n x m с текстом. требуется перебрать все ячейки первой строки, найти в них одинаковый текст, например "ххх", и, если ячейка с текстом найдена, удалить соответствующий столбец, далее найти следующую ячейку с текстом "ххх" в даной строке и т.д.
Nevidim u volov um - i diven!
diletant2 вне форума Ответить с цитированием
Старый 11.04.2011, 13:42   #2
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,062
По умолчанию

ОК! - это что такое
Как удалить столбец - запись макроса пжл
это может пригодится:
Код:
'номер таблицы в документе, где расположен курсор
cursor_table = ActiveDocument.Range(0, Selection.Tables(1).Range.End).Tables.Count
'номер столбца, а также ячейки в таблице, в документе, где расположен курсор, даже если ширина столбца, ячейки различается
cursor_column_cell = Selection.Cells(1).ColumnIndex
'номер строки в таблице, в документе, где расположен курсор
cursor_row = Selection.Rows.First.Index
'объявление переменной типа "Байт", размер 1 байт, от 0 до 255
Dim Количество_ячеек_в_строке As Byte
Количество_ячеек_в_строке = ActiveDocument.Tables(cursor_table).Columns.Count
Ну что ОК??
Ципихович Эндрю вне форума Ответить с цитированием
Старый 11.04.2011, 14:00   #3
diletant2
 
Регистрация: 11.04.2011
Сообщений: 6
По умолчанию

да нет, спасибо, просто нужен цикл...
Nevidim u volov um - i diven!
diletant2 вне форума Ответить с цитированием
Старый 11.04.2011, 14:22   #4
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,062
По умолчанию

а это:
Код:
Dim Количество_ячеек_в_строке As Byte
Количество_ячеек_в_строке = ActiveDocument.Tables(cursor_table).Columns.Count
Для размера цикла не подходит?
Ципихович Эндрю вне форума Ответить с цитированием
Старый 11.04.2011, 14:40   #5
diletant2
 
Регистрация: 11.04.2011
Сообщений: 6
По умолчанию

количество ячеек в строке не имеет значения, т.е. оно заранее неизвестно. нужно просто найти ячейку с конкретным текстом и удалить весь столбец, в котором она находится, а затем повторить поиск в строке - и снова удалить столбец и т.д. пока текст будет находиться, а что?
Nevidim u volov um - i diven!
diletant2 вне форума Ответить с цитированием
Старый 11.04.2011, 14:52   #6
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,062
По умолчанию

найти текст в таблице лучше через
If значение_ячейки Like "ХХХ*" Then удалить столбец
Обратите внимание, что звёздочку ставлю одну: "ХХХ*" , ОК??
Ципихович Эндрю вне форума Ответить с цитированием
Старый 12.04.2011, 01:29   #7
diletant2
 
Регистрация: 11.04.2011
Сообщений: 6
По умолчанию

к сожалению, ответа нет...
Nevidim u volov um - i diven!
diletant2 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как закрасить столбцы соответствующие определенному дню недели chib_sv Microsoft Office Excel 2 06.12.2010 10:54
Удалить столбцы из матрицы DarkDeidara Помощь студентам 0 02.12.2010 16:18
Как вывести в комбобох столбцы таблицы? MeTeOpA БД в Delphi 4 18.05.2010 03:31
В строках таблицы,содержащих наибольшее кол-во нулей, найти минимальную в строке сумму абсолютных величин Bga Помощь студентам 2 07.12.2009 00:52
Как удалить строки и столбцы в массиве ЛесенОК Свободное общение 1 31.01.2009 18:35