powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Найти элементы в Word
14 сообщений из 14, страница 1 из 1
Найти элементы в Word
    #35979743
Alex_WT_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В Word'e накидал элементы управления Label (надпись).
Подскажите, мне пожалуйста, как с помощью VB обойти все элементы управления, найти label'ы и установыить им определенные заголовоки (caption)
...
Рейтинг: 0 / 0
Найти элементы в Word
    #35985930
wladgreeniv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Идея такова.
Создаёшь массив лейблов и обходишь его

Dim LabelArray(сколько_лейблов) As Label


Private Sub Document_Open()

Set LabelArray(0) = Label1
.........
Set LabelArray(сколько) = Label_последний

End Sub


Потом в цикле присваиваешь лейблам новые значения
...
Рейтинг: 0 / 0
Найти элементы в Word
    #35987107
Alex_WT_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wladgreeniv, спасибо за подсказку. Но можно же за один проход пройти все лайбелы. Например, так

Private Sub Document_Open()
Dim laControl As Control

For Each laControl In Controls
If TypeOf laControl Is Label Then
'что-то делаем
End If
Next laControl
End Sub

Но при таком коде вылетает ошибка run-time error '424': Object required. Вот на эту строчку
For Each laControl In Controls.
Подскажи, пожалуйста, как за один проход проставить значения у лайбелов. Во вложении Word'овский файл, с которым я шаманю
...
Рейтинг: 0 / 0
Найти элементы в Word
    #35987110
EmilRegis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а у меня не вылетает
...
Рейтинг: 0 / 0
Найти элементы в Word
    #35987120
Alex_WT_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EmilRegis, я конечно за тебя рад, что у тебя работает, но ты мне лучше подскажи, что мне сделать, чтобы капшены у лабелов все проставились у меня. И к стати, глянь мой файл в архиве, проставятся у тебя даты в лабелах
...
Рейтинг: 0 / 0
Найти элементы в Word
    #35987130
EmilRegis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня на работе запрет на скачивание всяких прикрепышей))))
Запусти этот цикл на пустой форме с парой лейблов...не знаю,у меня работает...у тебя тоже в принципе должно
...
Рейтинг: 0 / 0
Найти элементы в Word
    #35987145
Alex_WT_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EmilRegis, у меня тоже так работает когда на UserForm накидал лабелы. Но суть в другом. Я взял открыл Word, вызвал панель Элементов управления, накидал на листе элементы управления Label. Вот теперь их и надо обойти все)). Как это сделать?
...
Рейтинг: 0 / 0
Найти элементы в Word
    #35987146
EmilRegis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
приведи лучше тут кусок кода
...
Рейтинг: 0 / 0
Найти элементы в Word
    #35987155
Alex_WT_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EmilRegis, вот код

Private Sub Document_Open()

Dim la As Label
Dim laControl As Control

For Each laControl In Controls
If TypeOf laControl Is Label Then

Set la = laControl
la.Caption = Format(Date, "dd mmmm yyyy")
End If
Next laControl
End Sub

У меня в проекте нет форм. Есть только Label'ы накиданые на листе документа
...
Рейтинг: 0 / 0
Найти элементы в Word
    #35987702
Krasnaja Shapka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а что есть "Controls"?
они явно не просто контролс, а как-то привязаны к документу...
...
Рейтинг: 0 / 0
Найти элементы в Word
    #35987755
Alex_WT_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Krasnaja Shapka, скажи тогда как? Какой метод тогда заюзать в ThisDocument, чтобы обойти все элементы управления (или контролы).
...
Рейтинг: 0 / 0
Найти элементы в Word
    #35987782
SoftParanoik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Sub ShowLabels()
    Dim wShape As Word.InlineShape
    For Each wShape In ActiveDocument.InlineShapes
        If Not wShape.OLEFormat Is Nothing Then
            If TypeOf wShape.OLEFormat.Object Is MSForms.Label Then
                MsgBox wShape.OLEFormat.Object.Caption
            End If
        End If
    Next wShape
End Sub
...
Рейтинг: 0 / 0
Найти элементы в Word
    #35987821
Alex_WT_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SoftParanoik, О, большое спасибо тебе, теперь счастье на свете есть :)
Подскажи, где можно почитать, на каком сайте про VBA для Word'а или Excel'я. А то смотрел на некоторых, но не находил необходимой инфы. Заранее благодарен!
...
Рейтинг: 0 / 0
Найти элементы в Word
    #35987846
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Alex_WT_
Читаешь "C:\Program Files\Microsoft Office\OFFICE11\1033\VBAXL10.CHM" и "C:\Program Files\Microsoft
Office\OFFICE11\1033\VBAWD10.CHM"
Если файлов нет, доустанавливаешь компоненты офиса


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Найти элементы в Word
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]