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

Работа с .TextFrame в Excel2000

19.06.2008, 18:54. Показов 2362. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня, на Листе (его создавала не я), есть следующий обьект, его видимо создали в слое рисования. Это бокс, в который вводят текст.
Worksheets('Имя_Листа').Shapes('Text Box 1064')
тип этого обьекта .Type = 17, т.е. по всей видимости это TextFrame.
Мне нужно вытащить этот текст в переменную String.

Сначала я хотела сделать это так:
Dim var_str1 As String
PKZ_L5.Shapes('Text Box 1064').Select
var_str1 = Selection.Characters.Text

но в результате получала в переменной только часть текста, а именно 255 символов и не символом больше ???? (((
Долго ломала голову как же вытащить текст полностью и сделала так:

var_str1 = PKZ_L5.Shapes('Text Box 1064').AlternativeText

получилось.Но мне кажется, что это не совсем корректно.
А можно ли сделать это как-то по другому? Посимпатичней и поправильному.
И почему в первом случае он так обезается???? Подскажите!!! Плизззз.

Татьяна
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.06.2008, 18:54
Ответы с готовыми решениями:

Аналог Application.DecimalSeparator в Excel2000
Надо узнать в макросе, что используется на компе в качестве разделителя дробной части (точка или заптая). В версии Excel 2002 это хранится...

Win98 + Excel2000 vs. WinXP + Excel2003
Вопрос: Разве сделанное в Excel2000 (и корректно там работающее) не должно работать в Excel2003? Дано: Рабочая книга, в ней...

Навигация по объектам типа Надпись (Textframe) с клавиатуры
При вставке в Эксель документ объектов типа Надпись (Textframe), чтобы их редатировать приходится нажимать на них мышкой потому что ТАБ или...

9
Victory
21.06.2008, 07:25
А все просто, мы уже обсуждали эту тему. Попробуй примени Set и все пойдет. У меня такая же фигня была. С трудом нашел выход. Set tt=Selection.Characters.Text
0 / 0 / 0
Регистрация: 05.06.2008
Сообщений: 15
22.06.2008, 15:29  [ТС]
Итак, Set tt = Selection.Characters.Text

Но как же мне в этом случае объявить переменную tt ?

Я решила, что раз .Text это вроде бы как String, то
Dim tt As String
пройдет. Как бы не так. Ругается. Объявила как
Dim tt As Variant
тоже не прошло.

Что-же делать?
0
2 / 2 / 1
Регистрация: 01.01.2008
Сообщений: 410
22.06.2008, 15:51
Dim tt As Object
Типа какже ещё?
0
0 / 0 / 0
Регистрация: 05.06.2008
Сообщений: 15
22.06.2008, 16:00  [ТС]
Простите, но так тоже пробовали. В результате:

Run-time error '424'
Object required

Что делать????
0
2 / 2 / 1
Регистрация: 01.01.2008
Сообщений: 410
22.06.2008, 16:31
Да ничего не делать, если работает вариант считающийся не красивым.
Присвоение объекту 'set tt' строкового значения недопустимо, на что Excel и ругается
0
0 / 0 / 0
Регистрация: 05.06.2008
Сообщений: 15
22.06.2008, 16:51  [ТС]
Этто точно...
Придется оставить как есть. Ссылка на объект, здесь, увы, не поможет.
Но почему же все-таки обрезается содержимое
Worksheets('Name').Shapes('Text Box 1064').TextFrame.Characters.Text
до 255 символов? Не могу найти этому обьяснения. Перерыла весь help.
Увы...
Спасибо ВСЕМ за поддержку в нелегком бою с VBA!
0
Victory
25.06.2008, 12:40
Я тут еще раз подумал над твом вопросом и непонял, а как ты узнаешь что в переменной содержатся всего 255 симоволов. Если для этого использовала дебугер, то он действительно показывает 255 симоволов. У меня код
sub ttttt()
tt=sheets(1).textNN.text
msgbox tt
end sub
'где textNN - объект Textbox c таким именем
выдал все нормально более 300 символов.
0 / 0 / 0
Регистрация: 05.06.2008
Сообщений: 15
26.06.2008, 21:19  [ТС]
Я помещаю содержимое обьекта в переменную, а потом смотрю сколько там символов
LEN(переменная)
Я этот текст потом сбрасываю в ячейку, так что и просто глазками видно, что она обрезается.
0
Victory
29.06.2008, 07:28
Скинь часть кода мне на мыло, посмотрю... Просто интересно почему у меня на 2000 все идет нормально а у тебя нет.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.06.2008, 07:28
Помогаю со студенческими работами здесь

Замена текста в объекте Shape.TextFrame.TextRange.Text
Здравствуйте! Помогите с заменой текста в объекте надпись Shape.TextFrame.TextRange.Text Привожу пример кода: For Each sec In...

Работа - проведение обучающих семинаров по C#. Работа по выходным дням ( сб-вс - 32 часа). От 30 000р.
Обязанности - проведение обучающих семинаров по C# Базовый (начальный уровень). Опыт преподавания не обязателен, главное чтобы вы не...

Нужна летиратура, в которой бы описывались работа с событиями, работа с элементами управления
Помогите пожалуйста найти летиратуру, в которой бы описывались работа с событиями,работа со всеми элементами управления(toolbox).И если...

Количество подведенного и отведенного тепла, работа сжатия, работа расширения
Определить количество подведенного и отведенного тепла, работу сжатия, работу расширения, полезную работу и КПД цикла предыдущей...

Работа формы в фоне, вне фокуса (работа с раскладкой клавиатуры)
Как заставить это работать в фоне? Даный код работает пока форма в фокусе, как только ее отпускаем - она не реагирует. Public...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru