Страницы: 1
RSS
Макрос для вставки текста блоками по 250 символов
 
Снова обращаюсь за помощью к гуру VBA - вопрос тот же:  
 
Необходимо скопировать текст из ячейки в шейп "Надпись" панели рисования. Задача банальная при длине текста менее 255 символов. Есть информация, что при большем кол-ве символов, вставка проводится блоками по 250 символов через цикл. Как это сделать, уважаемые экселепланетяне?  
 
Текст из шейпа "Надпись" панели рисования элементарно можно вытащить в ячейку листа через свойство AlternativeText - обратная задача решена путем поиска в интернете.  
 
В примере макрос работает правильно, т.к. текст короче 255 символов. При увеличении длины текста - не работает! :(
Век живи, век учись - два века проживешь!
 
The_Prist, попробуйте в примере изменить текст - работает!
Век живи, век учись - два века проживешь!
 
Ваш код меняет только замещающий текст, в рамочке ничего не меняется (при кол-ве символов >255)
Век живи, век учись - два века проживешь!
 
В моем примере если именить текст в рамке и вытащить его в ячейку - он будет измененный. Т.е. если нажать первую кнопку, дописать что-то в рамке и нажать вторую кнопку - конечный текст будет отличаться от начального. При условии что текст короткий
Век живи, век учись - два века проживешь!
 
А мне нужно, чтобы все это выполнялось при любой (разумной) длине текста
Век живи, век учись - два века проживешь!
 
Так Вы уже его принудительно изменили командой ActiveSheet.Shapes("GGG").AlternativeText = str2, если бы код не меняли, все работало бы.  
 
Вот здесь про то же:  
http://www.sql.ru/Forum/actualpost.aspx?bid=46&tid=647032&mid=0&p=1
Век живи, век учись - два века проживешь!
 
Скачал пример и зВашего поста, уменьшил кол-во исходного текста - все работает.    
Мало текста - работает, много - нет - вот в чем проблема, The_Prist!
Век живи, век учись - два века проживешь!
 
Ну например вот такой:
Век живи, век учись - два века проживешь!
 
Не совсем,- заменить текст в объекте текстом в ячейке С2.
Век живи, век учись - два века проживешь!
 
У Вас Excel 2007?  
У меня первые 255 символов только вставляет (((
Век живи, век учись - два века проживешь!
 
А что делает Mid(str2, lStart, 254)?
Век живи, век учись - два века проживешь!
 
Вопрос решен! Спасибо Михаилу (aka mds_world) с форума www.sql.ru!!!
Век живи, век учись - два века проживешь!
Страницы: 1
Читают тему
Наверх