|
2 / 2 / 1
Регистрация: 01.03.2020
Сообщений: 72
|
|
Как задать диапазон Shapes. Range(Array("Text box 1", "Text box 2", "Text box 3", "Text box 4"."Text box 10").Select01.03.2020, 18:36. Показов 5110. Ответов 17
Метки нет (Все метки)
Здравствуйте, все. Подскажите, пожалуйста, возможно ли в макросе VBA MS Word заменить область перечисляющихся значений в области Shapes. Range(Array("Text box 1", "Text box 2", "Text box 3", "итд) ) , если заранее известно, что они точно идут все,и по порядку от 1 до n не перечисляя все их, а указав только от первого до последнего "text box". Заранее благодарю
0
|
|
| 01.03.2020, 18:36 | |
|
Ответы с готовыми решениями:
17
Text box Как повернуть text box на определённый угол? Как в Text Box писать разными цветами? |
|
2 / 2 / 1
Регистрация: 01.03.2020
Сообщений: 72
|
|
| 01.03.2020, 18:44 [ТС] | |
|
Здравствуйте, все. Подскажите, пожалуйста, возможно ли в макросе VBA MS Word заменить область перечисляющихся значений в области Shapes. Range(Array("Text box 1", "Text box 2", "Text box 3", "итд) ) , если заранее известно, что они точно идут все,и по порядку от 1 до n не перечисляя все их, а указав только от первого до последнего "text box".
Или если это невозможно, то подскажите, пожалуйста, как в цикле for реализовать автоматическое формирование такой длинной записи по порядку скажем от "Text box 1" до "Text box 4" в кавычках и через запятую, чтобы после уже последнего "Text box 4" перед закрывающейся скобкой не вылазила запятая) и потом уже это сформированное значение Подставлять в Shapes. Range(Array( ss) ) и работало, как нужно все) Заранее благодарю)
0
|
|
|
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
|
|
| 01.03.2020, 19:07 | |
|
Inna1998, а вот интересно вам действительно удалось имена текстбоксов сделать с пробелами или это просто ваши фантазии?
Добавлено через 12 минут а зачем вам задавать первые - последние? Ведь можно формировать, нужные вам, адреса, например, Set Cons = UserForm1.Controls("TextBox" & I) I-номер вашего текстбокса. Или воспользоваться Class Module и создать массив этого класса. А все эти рассуждения от того, что вы придумали непонятную структуру и спрашиваете а есть такая или нет. Может начать с начала и сообщить изначально надо то что сделать.
0
|
|
|
4138 / 2242 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
|
||||||
| 01.03.2020, 19:48 | ||||||
|
Burk, Вы тоже можете создать текстовые поля, с пробелами в именах
но они не имеют никакого отношения к контролам.
0
|
||||||
|
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
|
|
| 01.03.2020, 19:58 | |
|
pashulka, я почему-то решил, что речь идет об UserForm.
0
|
|
|
2 / 2 / 1
Регистрация: 01.03.2020
Сообщений: 72
|
|
| 01.03.2020, 20:32 [ТС] | |
|
Так записал обработчик в word при записи макроса, с пробелами как раз при выделении "Text box #")
Добавлено через 13 минут Мне нужно после того как я их все выделю, надеюсь все же не перечисляя их все вручную В shapes.range(array("Text box 1", "Text box 2" ... До "Text box 100" )) а задав как то с диапозоном чтоб просто с по 100 и все. Ну или на крайней случай, чтобы длинная запись такая, содержащая все 100 текст боксов была сформированна автоматически в цикле напримен for ,именно в таком формате(стиле) "Text box 1", "Text box 2", ... , "Text box 100"������ Я не могу это сделать Буду ручками писать на еще крайнейший случай ,если и тут не помогут с этим мне������������������ Заранее спасибо всем тем, кто сможет поделится сокровенным и тем самым сможет ответить на один из моих двух вопросов поставленных тут перед вами уважаемые господа. Буду искренне и безмерно рад за ответ на хотябы один каждому ответевшему мне������!! Добавлено через 10 минут И.. затем ко всем им применить одно свойство для всех сразу. Хоть цвет изменить рамки, хоть шрифт
0
|
|
|
4138 / 2242 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
|
||||||
| 01.03.2020, 21:12 | ||||||
|
Можно просто перебрать все фигуры и изменять нужные параметры только у текстовых полей. Разумеется, если других фигур нет, то и проверка не имеет особого смысла.
1
|
||||||
|
2 / 2 / 1
Регистрация: 01.03.2020
Сообщений: 72
|
|
| 01.03.2020, 22:41 [ТС] | |
|
Спасибо огромное. Наверное буду делать так. У меня действительно только эти объекты есть поэтому можно заменить во всех, как сделал ваш код уже у меня на компьютере, действительно он работает! Однако, еще обнаружил, то что вот скажем номера этих Text Box очень непостоянная вещь в MS Word, что в принципе и логично)) просто я не знал это и тут вот сейчас обнаружил, что скажем когда я днем создавал эти "Text Box" удалял снова создавал экспериментировал)) - и были одни номера у них, например "Text box 3988" и тд, то теперь они у меня после повторного вкл компьютера вечером - "Text box 4034" например. И если мне бы нужно было скажем отделить одни Text box от других по номерам, как я это и хотел, пока сейчас не обнаружил что они каждый раз могут изменится..
Это была бы очень непростая задачка предполагаю для многих даже тут или не совсем как считаете?Например, определить последние 10 созданных Text Box в ActiveDocument , и уже в них, определив номера конкретные ,изменить то или иное форматирование под определенными десятью последними "Text Box ????" номерами...
0
|
|
|
4138 / 2242 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
|
||||||
| 01.03.2020, 22:59 | ||||||
|
Не надо людей брать на слабо.
1
|
||||||
|
2 / 2 / 1
Регистрация: 01.03.2020
Сообщений: 72
|
|
| 01.03.2020, 23:58 [ТС] | |
|
Спасибо снова большое вам) Вы просто Бог в програмировании этом. Но последний код считает еще и рисунки обычные(( Попробовала добавить к
Set s - Shapes.AddTextbox Но стало выдавать ошибку Compile error: Argument not optional, хотя AddTextbox программа сама подставляет после нажатия точки и выбора соответствующего значения из списка аргументов. Не подскажите как изменить на определенный Shapes в частности Text box, других мне не нужно, но полагаю на будущне, что научившись с Text_box ,другие будут также находится, хотя конечно пока трудно представить себе такую задачу, где может пригодится выделить и изменить несколько последних, скажем, линий или овалов.. Но только пока не столкнешься напрямую с тем в реальности)
0
|
|
|
4138 / 2242 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
|
||||||
| 02.03.2020, 08:52 | ||||||
|
Вы говорили, что окромя текстовых полей (они же надписи), ничего нет. Если же появились ещё и рисунки, то можно попробовать что-то вроде :
1
|
||||||
|
2 / 2 / 1
Регистрация: 01.03.2020
Сообщений: 72
|
|
| 02.03.2020, 13:10 [ТС] | |
|
Последний код работает абсолютно супер и полно, как и предыдущие два конечно в меру своей требуемой на каждом этапе полноты:-)
Добавлено через 10 минут Благодарю за столь быстрое и качествено оказанную помощь в програмировании без корыстно) это Просто огонь для снова веры в чистое и светлое будущее для меня и других людей)!!!
0
|
|
|
2 / 2 / 1
Регистрация: 01.03.2020
Сообщений: 72
|
|
| 02.03.2020, 20:23 [ТС] | |
|
pashulka, Добрый вечер, Павел. Извините, пожалуйста, а вы не могли бы еще подсказать то как возможно выделить и затем сгруппировать объекты типа "Text box" и затем выделить и сгруппировать объекты например типа "Line", после чего обнаружить и выделив две эти последние созданные группы и объеденить их в одну макрогруппу?
Наверно, для простоты условимся что выдялем и группируем ВСЕ объекты находящиеся на странице, а не последние 10. С последними, как я поняла, не знаю справедливо ли, возможно только перебрать каждый отдельно один за другим меняя поочередно свойство каждого, на единое при этом для всех 10. Что ,если это действительно так, то не может быть подходящим для группировки, когда обязательным условием должно быть выделение сразу всех или той части объектов shapes, которую группируем в один момент времени сразу все. А это подошло бы или может даже ускорило выполнение предыдущих кода по изменению сразу во всех последних 10" text box".., шрифта и цвета рамки, а не перебором по одному..если было бы это возможно. Заранее спасибо, за любой возможный ответ , по данному ньюансу VBA в word :-) Добавлено через 10 минут (Все в пределах каждого типа Shapes!имела ввиду "Text box", "Line", ...)
0
|
|
|
4138 / 2242 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
|
||||||
| 02.03.2020, 20:26 | ||||||
|
Пробуйте упрощённый вариант. Но имейте ввиду, что линий много разных, надо смотреть их типы
1
|
||||||
|
2 / 2 / 1
Регистрация: 01.03.2020
Сообщений: 72
|
||||||
| 02.03.2020, 23:26 [ТС] | ||||||
|
pashulka,
В этой строчке почему то пишет ошибку
Run-time error '-2147024809 (80070057)': Компонент с указанным именем не найден." А подскажите в каком месте мы задаем тип линии, или объекта shapes?) Раньше мы задавали словом "msoTextbox" в явном виде и было сразу понятно, что именно ищем и выделяем, а тут что это номера после Case 1, -2 номера фигур или нет? ((
0
|
||||||
|
4138 / 2242 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
|
|
| 02.03.2020, 23:48 | |
|
я не поленился, проверил, у меня фигуры стали сгруппированы. 1 и -2 это значения констант. смотрите свойство AutoShapeType
Подобную ошибку можно получить - если попытаться сгруппировать фигуры, которые уже являются частью группы. И ещё Word не даёт группировать фигуры, находящиеся на разных страницах. P.S. А так, лучше говорить предметно, пока никакого документа с фигурами, нет.
0
|
|
|
2 / 2 / 1
Регистрация: 01.03.2020
Сообщений: 72
|
||||||
| 02.03.2020, 23:51 [ТС] | ||||||
|
Пришлю файл сейчас еще вордовский сам с фигурами этими и надписями, сейчас вот в записи макроса примерно сформировала, что я хочу макросом сделать, но чтобы естественно эти номера были любые последние, возможно так будет чуточку яснее)
0
|
||||||
|
4138 / 2242 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
|
||||||
| 02.03.2020, 23:54 | ||||||
|
Вариант группировки постранично. для первой страницы.
0
|
||||||
| 02.03.2020, 23:54 | |
|
Помогаю со студенческими работами здесь
18
Вставка в RICH TEXT BOX Как обратиться к константе, если её имя в Text Box'e Какой размер у объекта Text Box ? Двумерный массив - вывод в текстовый файл и Text.Box Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|