Я попробовал Ваш код получил в каждом макросе ошибку 424, скажите почему??
Подскажите то есть я правильно понял, что в эти элементы вручную ничего нельзя добавить, убрать и т. д.
И как поставить условие, того что в элементах выбрано в настоящее время??
(по индексу)
If ComboBox1.ListIndex <> -1 Then
...
End If
(по значению)
If ComboBox1.Text = "Some text" Then
...
End If
For i=1 to ListBox1.ListCount-1
If ListBox1.Selected(i) = True Then
...
End If
Next
Свойство MatchEntry определяет будет ли при вводе пользователем первых символов значения выбраться подходящая позиция из списка
Но у него есть значения, подскажите их значения
0 MatchEntryFirstLetter ??
1 MatchEntryComplete ??
2 MatchEntryNone ??
Подскажите, какое свойство Лист бокса отвечает, чтобы строки были в нём согласно алфавита, можно ли ещё как то их сортировать по своему усмотрению??
Что то не пойму в строках Лист бокса как искать нужную строку, один раз получалось ввёл первую букву, далее само перемещалось содержимое Лист бокса, а более так не получается
If ActiveDocument.InlineShapes.Count >= 1 Then 'условие, если Количество_кнопок_в_документе >= 1, тогда ...
If ActiveDocument.InlineShapes.Item(1).OLEFormat.Object.Name = "ComboBox1" Then 'условие, если имя 1 кнопки ="ComboBox1", тогда ... НА ЭТОЙ СТРОКЕ КОДА ПОЛУЧАЮ ОШИБКУ № 91 ПОЧЕМУ???
ActiveDocument.ComboBox.AddItem "ЯЯ"
End If
End If
"Чудо" файл я загрузил, ссылка на него: https://rfpro.ru/upload/1772
Вопрос по нему всё тот же:
Количество = ActiveDocument.InlineShapes.Count
ТО есть Вы хотите сказать что при открытом файле 00 к служебному.doc
Если вручную прогонять код, то на строке
Количество = ActiveDocument.InlineShapes.Count 'Вы не получаете Количество = 2 ?????
А затем на следующей строке
ActiveDocument.InlineShapes.Item(1).OLEFormat.Object.Select 'Вы не получаете ошибку № 91 ?????
Скопируйте и вставьте в него две строчки кода
Количество = ActiveDocument.InlineShapes.Count
ActiveDocument.InlineShapes.Item(1).OLEFormat.Object.Select
Проходите его вручную нажимая Эф 8
'на первой строке Вы получаете Количество = 2 ?????
'на второрй строке Вы получаете ошибку № 91 ?????
Если получаете ошибку, то тогда почему она образовывается???
А тогда чтобы не получить ошибку № 91 надо вместо этого
If ActiveDocument.InlineShapes.Item(1).OLEFormat.Object.Name = "ComboBox1" Then
...
End If
Что написать???
If Not (ActiveDocument.InlineShapes.Item(1).OLEFormat Is Nothing) Then
If ActiveDocument.InlineShapes.Item(1).OLEFormat.Object.Name = "ComboBox1" Then
MsgBox "Found " & ActiveDocument.InlineShapes.Item(1).OLEFormat.Object.Name
' Здесь напишите нужный вам код
End If
End If
Подскажите мне требуется очистить содержимое комбобокса, но не следующим образом:
ActiveDocument.ComboBox1.Clear
Предложенное Вами решение я помещу в код АутоКлозе
Сделать это нужно для того чтобы когда пользователь открывал документ и тут же его закрыл, чтобы ему не предлагали изменить сохранения, так как он может придти в замешательство, ведь он ничего не делал.
ранее Вы давали ссылки на
Почитайте VBA Создание меню и Работа с панелями инструментов и меню
Сейчас есть вопрос № 177826 на эту тему, не поможете???
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.