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

Динамическая генерация объектов по строке имени

23.07.2014, 18:38. Показов 1307. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть ли возможность как то переопределить в следующем коде
Visual Basic
1
For Each Letter In ActiveDocument.Paragraphs
сущность константы ActiveDocument.Paragraphs ? чтото вроде
Visual Basic
1
2
3
4
5
6
7
8
9
     Dim x1 As String
     Dim x2 As String
     Dim x3 As String
 
     x1 = "ActiveDocument."
     x2 = "Paragraphs"
     x3 = x1 + x2
     
     For Each Letter In x3
Однако такой код не работает. Прошу у Вас помощи господа в решении вопроса (гугление не помогло). Спасибо.
С уважением, egyp7.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.07.2014, 18:38
Ответы с готовыми решениями:

Динамическая генерация <td> и <tr>
Здравствуйте, форумчане! Необходимо решить следующую ситуевину: при нажатии на определенные кнопки, нужно что бы в таблицу...

Динамическая генерация JSON
Товарищи, добрый день! Помогите пожалуйста (хотя бы пните в нужном направлении), для дипломной работы(под ios), хочу реализовать парсинг...

Динамическая генерация страницы
Добрый день. Помогите, плз, разобраться с тем, как происходит динамическая генерация страницы. Интернет смотрел - но нужного мне не...

11
4089 / 1469 / 401
Регистрация: 07.08.2013
Сообщений: 3,672
23.07.2014, 19:23
а что мешает воспользоваться массивом
Visual Basic
1
2
3
4
5
6
7
dim a(1 to 3) as string
 a(1) = "ActiveDocument."
 a(2) = "Paragraphs"
 a(3) = a(1) + a(2)
for i=1 to 3
msgbox a(i)
next i
1
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
23.07.2014, 20:09
Цитата Сообщение от egyp7 Посмотреть сообщение
сущность константы ActiveDocument.Paragraphs
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub demo()
    Dim myCol As Object, myObj As Object
    
    Set myCol = ActiveDocument.Paragraphs
    For Each myObj In myCol
        '...
    Next
    
    '...
    
    Set myCol = ActiveDocument.Bookmarks
    '...
    
End Sub
Вы это имели ввиду?
1
0 / 0 / 0
Регистрация: 15.05.2014
Сообщений: 13
24.07.2014, 07:28  [ТС]
Спасибо всем ответившим в мою тему господа. В особенности большую благодарность выражаю mc-black и SoftIce (SoftIce помог ТС в отделенной от данной темы теме - Аналог функции Evaluate - прим. модератора). У меня последний вопрос остался господа, а именно проблема с приведением типов, или попросту переопределением типизации переменных(мб, даже констант). К примеру у меня из двух строк формируется в третьей выражение ActiveDocument.Paragraphs следующим образом:
Visual Basic
1
2
3
4
5
6
7
    Dim x1 As String
    Dim x2 As String
    Dim x3 As String
    
    x1 = "ActiveDocument."
    x2 = "Paragraphs"
    x3 = x1 + x2
Понятное дело что тип переменной на текущий момент является String, как я могу привести его к типу Object чтобы в дальнейшем обращаться к нему как объекту, примерно вот так :
Visual Basic
1
2
For Each myObj In X3
// Чтобы было эквивалентно For Each myObj In ActiveDocument.Paragraphs
Спасибо за внимание. С уважением, egyp7.
0
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
24.07.2014, 11:52
Я так понимаю типизацию VB(A): есть элементарные типы (Long, Integer, Byte, String...) и есть объектные типы.
Так вот, тип Object по отношению объектным типам - это как Variant по отношениею к элементарным. Эти два типа можно использовать для динамической типизации. Все остальные без явного приведения для этого не подходят.

И тут я опустил пользовательский тип (структуру), он похож на элементарные по сути.
0
0 / 0 / 0
Регистрация: 15.05.2014
Сообщений: 13
25.07.2014, 16:22  [ТС]
mc-black, благодарю за ответ, однако вы не ответили на суть вышестоящего вопроса. Хорошо давайте примерно поясню что я ожидаю увидеть. Посмотрите на код :

Visual Basic
1
2
3
4
5
     Dim x1 As String: x1 = "ActiveDocument."
     Dim x2 As String: x2 = "Paragraphs"
     Dim x3 As String: x3 = x1 + x2
     Set x3 As Object
     For Each eQgTRUswI In x3
Так вот, тут как видите переменная x3 определена строковым типом - String. Мне как то нужно ее переопределить в тип Object, но при этом не потерять значение хранимое в переменной x3, для того чтобы в дальнейшем использовать в конструкции For Each eQgTRUswI In x3(эквивалент For Each myObj In ActiveDocument.Paragraphs). возможно ли как то это произвести ? Спасибо.
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
25.07.2014, 16:50
Лучший ответ Сообщение было отмечено egyp7 как решение

Решение

egyp7, я же Вам уже отвечал.
Миниатюры
Динамическая генерация объектов по строке имени   Динамическая генерация объектов по строке имени   Динамическая генерация объектов по строке имени  

Вложения
Тип файла: rar ScriptControl.rar (19.3 Кб, 5 просмотров)
1
0 / 0 / 0
Регистрация: 15.05.2014
Сообщений: 13
25.07.2014, 17:04  [ТС]
SoftIce спасибо, только сейчас заметил
0
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
25.07.2014, 17:44
Примерно:
Visual Basic
1
2
3
4
5
6
    Dim x1 As String: x1 = "ActiveDocument."
    Dim x2 As String: x2 = "Paragraphs"
    Dim x3 As String: x3 = x1 + x2
    Dim x3obj As Object, eQgTRUswI As Object
    Set x3obj = CreateObject(x3)
    For Each eQgTRUswI In x3obj
0
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
28.07.2014, 14:34
а я бы еще добавил что это неправильное действие
x3 = x1 + x2
для объеденения строк целесообразнее использовать конкатенацию
x3 = x1 & x2
0
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
28.07.2014, 23:17
Цитата Сообщение от Антихакер32 Посмотреть сообщение
для объеденения строк целесообразнее использовать конкатенацию
Припоминаю, как в первых классах меня учили буквы конкатенировать в слова, а слова конкатенировать в словосочетания, чтобы наконец конкатенировать целые предложения.

Ещё бы добавил, что перемежать объявления с кодом - BAD CODE, а впихивать по две строки в одну через ':' без необходимости - Double BAD CODE. Не саппортабельно ))))
1
29.07.2014, 05:57

Не по теме:

Цитата Сообщение от mc-black Посмотреть сообщение
впихивать по две строки в одну через ':' без необходимости - Double BAD CODE. Не саппортабельно ))))
:D
Пост №9

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.07.2014, 05:57
Помогаю со студенческими работами здесь

Динамическая генерация страницы
В продолжение темы https://www.cyberforum.ru/javascript/thread706888.html z-z, я хочу сделать вывод страницы (с помощью php) т.е. я...

Динамическая генерация строк
Нужно динамически генерировать сроки в зависимости от данных. Пусть при помощи RT и RenderToRTItem я это сделать могу. А что делать, если...

Динамическая генерация кода
Добрый день. Наткнулся в нете на следующее: &quot;Функция BitBlt содержала своего рода небольшой компилятор. На основе растровой...

2D / Спрайты / Динамическая генерация
Доброго времени суток, решил от нечего делать, заняться 2Д графикой в дельфи. Как я узнал, в дельфи можно спокойно создавать 2Д игры, а...

Динамическая генерация страницы по клику
Имеется заготовка: http://95.31.11.115/Toursoft/Start.aspx По нажатию на &quot;Поиск туров&quot; должна быть сгенерирована таблица с результатами...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru