Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/76: Рейтинг темы: голосов - 76, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 04.08.2011
Сообщений: 6
1

Удаление содержимого части ячейки таблицы в Word 2003

04.08.2011, 16:20. Показов 14051. Ответов 11
Метки нет (Все метки)

Уважаемые знатоки, очень требуется помощь. Имеем документ MS Word 2003 (*.rtf, *.doc), в документе таблица. В ячейках таблицы требуется удалить из некоторых ячеек (не из всех!) часть текста. Пример исходного и преобразованного документа во вложении. Заранее благодарен.
Вложения
Тип файла: rar Primer2.rar (5.8 Кб, 42 просмотров)
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.08.2011, 16:20
Ответы с готовыми решениями:

Удаление части текста из ячейки таблицы Word
Всем привет! Необходимо удалять определенный текст во всех строках 6-й колонки таблицы (при его...

Копирование содержимого ячейки таблицы Excel в закладку Word
Задача. Нужно скопировать значение ячейки (например А1) в документ word в определенное место. Место...

Удаление части текста ячейки, который совпадает с текстом соседней ячейки
Добрый день. Заранее извиняюсь, за возможный повтор темы. Ситуация следующая: Есть таблица на...

Защита от редактирования части документа в word 2003
Доброго времени суток. Есть ли в word 2003 функция, позволяющая часть документа защитить от...

11
1479 / 385 / 35
Регистрация: 10.04.2009
Сообщений: 7,028
04.08.2011, 17:18 2
что Ваш пример,
переделайте это прмер для себя
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Sub P3()
'Все ячейки для одной таблицы Word.
Dim oTbl As Word.Table
Dim oCell As Word.Cell
Set oTbl = ActiveDocument.Tables(1)
For Each oCell In oTbl.Range.Cells
    oCell.Range.Text = Trim$(Left(oCell.Range.Text, Len(oCell.Range.Text) - 2))
Next oCell
'установка объекта в значение Nothing требуется для освобождения памяти, которая была выделена для соз-дания этого объекта
Set oTbl = Nothing
Set oCell = Nothing
End Sub
в этом макросе проходится по всем ячейкам и убирает пробелы в начале и в конце содержимого ячейки
0
0 / 0 / 0
Регистрация: 04.08.2011
Сообщений: 6
04.08.2011, 19:45  [ТС] 3
Спасибо, что откликнулись. Сейчас приеду домой попробую.

Добавлено через 2 часа 14 минут
М... опыта в таких делах у меня нет, и я, наверное, неправильно сформулировал условие. Если Вы смотрели пример, то видели, что таблица состоит из двух частей. В первой части - условно "работы", во второй - "материалы". Так вот, в ячейках, в которых прописаны наименования работ и материалов есть цифры, т.н. "индексация". Нужно убрать "индексацию" из раздела материалы, причем её там может и не быть (т.е. в одной ячейке материал индексирован, а в другой может быть и не индексирован). Пробовал сделать с помощью макрорекордера, года два назад что-то получилось, а теперь не вспомню. Да и тогда очень сильно стал тормозить офис, по-моему из-за этого макроса.
0
1479 / 385 / 35
Регистрация: 10.04.2009
Сообщений: 7,028
04.08.2011, 19:58 4
тогда алгоритм какой по столбцам двигаться??
0
0 / 0 / 0
Регистрация: 04.08.2011
Сообщений: 6
04.08.2011, 20:22  [ТС] 5
Я думаю, что надо как-то выделить диапазон ячеек, которые надо изменить. В этом диапазоне проверить наличие индексации в каждой ячейке, и при её наличии удалять. Единственное, как мне кажется, за что можно зацепиться - строка индексов заключена между символами конца абзаца и конца ячейки. Только как это всё реализовать, ХЗ?
0
1479 / 385 / 35
Регистрация: 10.04.2009
Сообщений: 7,028
04.08.2011, 20:38 6
задача века
'Chr$(13) это абзац
'Chr$(7) это концевая сноска таблицы Word
найти всё то что между ними, поиск - подстановочные знаки и вперёд

Добавлено через 11 минут
отдаленно то что надо Вам
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Строка_поиска = Chr$(13) & "*" & Chr$(7)
    
 
    With ActiveDocument.Range.Find
       
        .Text = Строка_поиска
        'поиск остановить, остановит поиск по достижении конца
        .Wrap = wdFindStop
        'эта опция отвечает за поиск с использованием подстановочных знаков
        'не работает когда установлено в положение False, или её нет вообще
        'если установлена в положение True, тогда работает
        .MatchWildcards = True
 
        Do While .Execute = True
            'выделит искомые слова
            '.Parent.Select
            Искомое = .Parent
          
        Loop
1
0 / 0 / 0
Регистрация: 04.08.2011
Сообщений: 6
04.08.2011, 22:18  [ТС] 7
Вы волшебник, уважаемый! Остальное додумаю сам. Это, наверное, как любофф, ею надо заниматься )))? Или всё-таки можно где-то прочитать?
0
1479 / 385 / 35
Регистрация: 10.04.2009
Сообщений: 7,028
05.08.2011, 09:49 8
Цитата Сообщение от isb Посмотреть сообщение
Или всё-таки можно где-то прочитать?
не понял вопроса
0
0 / 0 / 0
Регистрация: 04.08.2011
Сообщений: 6
05.08.2011, 23:59  [ТС] 9
Искал на форуме что-нибудь типа списка рекомендованной литературы. Что посоветуете? Или так с ходу язык не выучишь, с опытом приходит?
0
Заблокирован
09.08.2011, 09:30 10
Цитата Сообщение от isb Посмотреть сообщение
Или так с ходу язык не выучишь, с опытом приходит?
если с нуля изучаете, то по самоучителям не выучите, - надо задавать вопросы на форумах.

Поясню, почему: вам нужно решить конкретную задачу, но чтобы её решить, вам надо прочитать страниц 100 того, о чём вы даже не представляете. Даже не пытайтесь изучать по самоучителям на первых порах.

Самоучители - это для тех, кто когда-то сталкивался с программированием, и для тех, кто переходит с одного языка программирования на другой.
1
0 / 0 / 0
Регистрация: 04.08.2011
Сообщений: 6
11.08.2011, 20:11  [ТС] 11
Цитата Сообщение от Busine2009 Посмотреть сообщение
Даже не пытайтесь изучать по самоучителям на первых порах.
Так что же делать? Изучать азы языка на форуме? Я думаю мало кто этим будет заниматься. Не интересно профессионалу каждому желающему объяснять как написать "Hallo, World!". А вот толковый курс с основами языка, его логикой, с объяснением "почему", а не "как" вполне мог бы быть полезен. Уокенбаха пробовал читать, но нашенский мозг пасует против ихних методов изложения материала )))
0
Заблокирован
11.08.2011, 20:37 12
isb,
  1. необходимо в жизни сталкиваться с программированием. Например, стали работать в Excel и нужно что-то делать с помощью VBA - например, автоматическое сохранение книги в каком-то месте компьютера при закрытии книги (резервная копия). Если вы в жизни не сталкиваетесь с необходимостью программирования, то вы не выучите язык (просто забросите).
  2. да - изучать азы программирования нужно именно на форумах.
  3. учебников по программированию в природе не существуют. То, что называется самоучителем, - это справочник для программистов.
  4. некоторые приходят на форумы программистов, чтобы практиковаться, и с радостью будут отвечать на ваши простые вопросы.
  5. в интернете полно примеров (в основном на форумах), где можно найти ответы на ваши простые вопросы и можно не задавать простых вопросов.
  6. про курсы ничего не могу сказать, но здесь опять - у вас должны быть вопросы уже и вы должны знать, зачем вам программирование изучать.
  7. Уокенбах - это не учебник - это справочное пособие - по нему нельзя научиться программированию с нуля.
Я стал чуть-чуть разбираться в программировании только благодаря форумам. Я столкнулся с VBA на работе - были ситуации, что нужно делать что-то быстро. В самоучители заглядываю, как в справочные пособия.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.08.2011, 20:37

Удаление содержимого ячейки в БД
Доброго времени суток! Подскажите возможно ли удаление содержимого ячейки из таблицы БД Access?...

Удаление части содержимого WebBrowser
Здравствуйте уважаемые! Подскажите, возможно из компонента WebBrowser убрать то, что я выделил...

word-wrap: break-word и ячейки таблицы
Вот код: <table style="width: 300px;"> <tr><td>LALALA </td><td style="word-wrap:...

Удаление колонтитулов в Word 2003 (файл rtf)
Добрый день. У меня есть фалы rtf, которые я открываю в Word 2003, чтобы отформатировать (по мне...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.