Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
4 / 4 / 0
Регистрация: 18.07.2014
Сообщений: 14
1

Вывод порядкового номера

28.10.2015, 11:24. Показов 2669. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день! Подскажите, пожалуйста.
Если я хочу узнать номер раздела и использовать его я использую:

j1 = Selection.Range.Information(wdActiveEndSectionNumber)

С помощью какой строки можно узнать нумерацию, для дальнейшего использования, если у меня есть текст:
"1.1 ааааааааааааа"

"1.2 ббббббббббббб"

Мне нужно достать цифры 1.1 и 1.2 и тд.

Спасибо!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.10.2015, 11:24
Ответы с готовыми решениями:

Вычисление порядкового номера и минимума
Необходимо дописать код, чтобы считался минимум (максимум уже считается) и порядковый номер...

Добавление порядкового номера к имени докумена при сохранении
Друзья, подскажите, пожалуйста, как к имени сохраняемого файла добавить порядковый номер? Допустим...

Сгенерировать матрицы в зависимости от порядкового номера листа в книге и месяца года
Используя циклы на всех листах поочередно создать матрицу размером I*(М-I + 1), где I - порядковый...

Существуют ли стандартные функции определения "порядкового номера" даты и наоборот?
Может кто знает... существуют ли стандартные функции определения "порядкового номера" даты и...

12
5562 / 1368 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
28.10.2015, 13:23 2
Уважаемая Maria_555, Mikkelle в своей теме Непонятная ошибка в Word напомнил о наличии встроенных макросов из команд Word (RestartNumbering).

Заглянув в сей кладезь бесплатных утилит (в диалоге по альт-F8), я обнаружил нечто подходящее (SelectNumber — см. рисунки), но вам, вероятно, может пригодиться другая функция: метод ConvertNumbersToText от нашего замечательного Скрипт’а из темы Как поменять автоматическую нумерацию списка на "жесткую" — а там уже, прямо в тексте, использовать обычый поиск по контрол-F.
Миниатюры
Вывод порядкового номера   Вывод порядкового номера  
0
4 / 4 / 0
Регистрация: 18.07.2014
Сообщений: 14
29.10.2015, 09:58  [ТС] 3
Эта функция не помогла(

На примере.
Есть текст со стилями с нумерацией, кодом я нахожу слова "шпилька 7", "насос 8", "крышка 2", "корпус 3".

И мне надо достать номер, который по стилю присвоен этому абзацу, в котором находится данное слово.
Миниатюры
Вывод порядкового номера  
0
6082 / 1326 / 195
Регистрация: 12.12.2012
Сообщений: 1,023
29.10.2015, 16:30 4
Здравствуйте, Maria_555,
Прилагаю документ, в котором наглядно представил возможное решение предложенной вами задачи.

С уважением,
Аксима
Вложения
Тип файла: rar ListNumbersOutput.rar (16.8 Кб, 10 просмотров)
1
4 / 4 / 0
Регистрация: 18.07.2014
Сообщений: 14
29.10.2015, 17:38  [ТС] 5
Прошу прощения! Но не поняла, где решение. Открыла документ, там создан нумерованный список.

Нумерованный список я могу создать сама. Проблема у меня в том, что я кодом ищу слова в документе и копирую их в тхт. И если сравнивать с Вашим примером списка, допустим я скопирую нужные мне слова в тхт "сметана", "мясо", "соль".

Но проблема в том, что я не могу скопировать слова с номерами, а именно мне надо "сметана 1.2", "мясо 2.1", "соль 3.1". Проблема взять номер списка.

А мой пример: я ищу в тексте слова с цифрой и копирую в текст. Текст такой:

1.4.7 Для предотвращения утечек перекачиваемой жидкости в месте выхода вала из корпуса насоса в напорной крышке установлено уплотнение торцовое 21 патронного типа и образует щелевое уплотнение с втулкой 14 на валу насоса.

Я копирую слова в тхт "торцовое 21", "втулкой 14", а мне надо скопировать вместе с номером тоесть "торцовое 21 1.4.7", "втулкой 14 1.4.7"

1.4.7 - это номер пункта в документе
0
4135 / 2239 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
29.10.2015, 18:09 6
Мария, Обратите более пристальное внимание на пример уважаемого Аксима, ибо там есть решение Вашего вопроса.

Visual Basic
1
2
3
4
5
6
7
8
9
10
With ActiveDocument.Content.Find
    .Text = "Мясные"
    .Execute
    If .Found = True Then
       With .Parent
            Text = .ListFormat.ListString & " " & .Paragraphs(1)
            MsgBox Text
       End With
    End If
End With
1
4 / 4 / 0
Регистрация: 18.07.2014
Сообщений: 14
30.10.2015, 15:41  [ТС] 7
Прошу прощения! Макрос в документе ListNumbersOutput нашла и один и второй макрос очень хорошие. Начала макросы применять к своим гайкам и возникли проблемы, а именно покажу на "Продуктах".

Я изменила документ и вот результаты макросов: выводится не только слово и цифра, а еще и лишний текст.

Вывод порядкового номера


Вывод порядкового номера
0
5562 / 1368 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
30.10.2015, 16:26 8
Maria_555, извините, конечно, а это у вас работа по специальности?
0
4135 / 2239 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
30.10.2015, 16:41 9
Лучший ответ Сообщение было отмечено Maria_555 как решение

Решение

Мария, А что на втором скриншоте является лишним текстом ?

Если это /надо купить/, то ответ очевиден :

Visual Basic
1
2
3
4
5
6
7
8
9
10
Text = "Колбаса"
 
With ActiveDocument.Content.Find
    .Text = Text
    .Execute
    If .Found = True Then
       Text = .Parent.ListFormat.ListString & " " & Text
       MsgBox Text
    End If
End With
1
4 / 4 / 0
Регистрация: 18.07.2014
Сообщений: 14
30.10.2015, 16:46  [ТС] 10
Моя работа заключается в анализе документов и упрощении работы с ними. Данный этап - это в документе найти слова, которые состоят из слова и цифры и скопировать их в тхт файл с некоторыми проверками. Все работает, кроме копирования вместе с пунктом предложения, в котором находится искомое слово.

Предложение:
"1.4.7 Для предотвращения утечек перекачиваемой жидкости в месте выхода вала из корпуса насоса в напорной крышке установлено уплотнение торцовое 21 патронного типа и образует щелевое уплотнение с втулкой 14 на валу насоса."

Я копирую слова в тхт "торцовое 21", "втулкой 14", а мне надо скопировать вместе с номером то есть "торцовое 21 1.4.7", "втулкой 14 1.4.7"

1.4.7 - это номер пункта в документе
1
4 / 4 / 0
Регистрация: 18.07.2014
Сообщений: 14
02.11.2015, 11:36  [ТС] 11
Добрый день! pashulka Ваш код мне очень помог, но этот кусочек кода не работает в моем макросе.

Я использую у себя

With Selection.Find при поиске слов, а дальше у меня идут проверки, циклы. И если я перепишу на
With ActiveDocument.Content.Find, то возникает ошибка дальше в моем коде.

А есть возможность изменить эту строку

slovo = slovo & " " & .Parent.ListFormat.ListString

чтоб она работала при таких условиях With Selection.Find?

Вывод порядкового номера


Вывод порядкового номера
0
4 / 4 / 0
Регистрация: 18.07.2014
Сообщений: 14
02.11.2015, 12:02  [ТС] 12
Разобралась! Изменила строку на:

slovo = slovo & " " & .Parent.Range.ListFormat.ListString

Большое спасибо всем за помощь!!!)))
2
4135 / 2239 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
02.11.2015, 12:45 13
Несмотря на то, что вопрос решён, позволю себе небольшую ремарку – на вышеопубликованном скриншоте не видна необходимость использования об'екта Selection, но если она есть, то в этом примере можно и :

Visual Basic
1
slovo = slovo & " " & Selection.Range.ListFormat.ListString
1
02.11.2015, 12:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.11.2015, 12:45
Помогаю со студенческими работами здесь

Среднее значение в массиве, вывод порядкового номера
Всем здравствуйте! Имеется такая задача: есть число N - количество элементов в массиве( N<5000...

Задачка на вывод порядкового номера самой большой цифры в записи числа!
Чет не могу понять! Задача состоит в том, что сначала комп получает на вход натур. число, находит...

Создание прямоугольного массива и вывод для каждого четного элемента его порядкового номера
Написать программу, которая создаёт прямоугольный массив и используя процедуру, выводит для каждого...

Прочесть информацию, отталкиваясь номера строки файла и порядкового номера первого симвала в строке
не стал создавать новую темку, решил что тут тоже задать вопрос можна.... есть регулярно...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru