Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.04.2013, 10:41   #1
strannick
Форумчанин
 
Регистрация: 21.10.2011
Сообщений: 433
По умолчанию Заполнение штампа

Добрый день, уважаемые форумчане!
Столкнулся с проблемой автозаполнения чертежного штампа. Штамп вставлен на лист как изображение. Начиная со второго листа и до последнего листа Малый штамп. Во всех есть поле, содержание которого одинаковое. Заполняю посредством юзерформы. Вот код:
Код:
ActiveSheet.Shapes.Range(Array("stamp2")).Select
    ActiveSheet.Shapes.Range(Array("224")).Select
    Selection.ShapeRange(1).TextFrame2.TextRange.Characters.text = TextBox1.text
    With Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 3). _
        ParagraphFormat
        .TextDirection = msoTextDirectionLeftToRight
        .FirstLineIndent = 0
        .Alignment = msoAlignCenter
    End With
    With Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 3).Font
        .NameComplexScript = "+mn-cs"
        .NameFarEast = "+mn-ea"
        .Size = 14
        .Name = "Arial Narrow"
    End With
Листов всего 14, поэтому Малые штампы расположены со 2го по 14й листы и поименованы соответственно stamp2, stamp3 и т.д. Поэтому сделал цикл, перебираю имена штампов и пытаюсь вставить текст одинаковый для всех. НО, текст вставляется только в stamp2 и все. Методом тыка понял, что дело в строке
Код:
ActiveSheet.Shapes.Range(Array("224")).Select
которая одинаковая для всех штампов и изменить на допустим 334, 434 не получается.
Подскажите правильный метод выбора Array. Макрос писал макрорекодером.
Заранее спасибо!

P.S. И если не затруднит, поясните вот этот TextRange.Characters(1, 3) параметр. Чего-то в инете не нашел.

Последний раз редактировалось strannick; 28.04.2013 в 10:43.
strannick вне форума Ответить с цитированием
Старый 28.04.2013, 20:42   #2
strannick
Форумчанин
 
Регистрация: 21.10.2011
Сообщений: 433
По умолчанию

Все, вопрос решен. Все поля штампа идут как отдельные изображения. Сгруппированные. Разгруппировал, нужные переименовал и в цикле заполнил.)))
strannick вне форума Ответить с цитированием
Старый 28.04.2013, 22:31   #3
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Штамп вставлен на лист как изображение. Начиная со второго листа и до последнего листа Малый штамп. Во всех есть поле, содержание которого одинаковое.

Может, в колонтитул его? Один раз заполнить поле - на всех листах размножится.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 29.04.2013, 09:38   #4
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Есть такая программа - visio. там все это делается намного проще... и с недавних пор она интегрировалась в пакет офиса...
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 30.04.2013, 22:00   #5
strannick
Форумчанин
 
Регистрация: 21.10.2011
Сообщений: 433
По умолчанию

Цитата:
Сообщение от Казанский Посмотреть сообщение
Может, в колонтитул его? Один раз заполнить поле - на всех листах размножится.
Не, это же чертежный штамп, он к рамке привязан. В колонтитул не получится.

DiemonStar: Знаю, и очень давно люблю эту программку. Еще до того, как в офис интегрировали.))) Просто не хотелось городить огород и выходить за пределы Excel'я.

Все равно вопрос решил. Ступил изначально, не въехал, что все эти поля штампа были отдельными сгруппированными изображениями. Array("stamp2") - вот это была группа. Ее название переименовывалось. А Array("224") - это имя поля, которое нужно было заполнять. После разгруппировки переименовал эти поля 224, 324 и т.д. и в цикле заполнил.
strannick вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заполнение ячеек 3dvol Microsoft Office Excel 2 18.07.2012 22:36
Считывание почтового индекса (кодового штампа) fly-fire-fox Компьютерное железо 5 18.11.2011 08:10
Заполнение форм Marsik JavaScript, Ajax 1 17.11.2009 17:30
ЗАПОЛНЕНИЕ БД Лонли-Локли БД в Delphi 4 26.08.2009 14:54
Заполнение матрицы Pedro Помощь студентам 3 22.04.2009 23:53