Профессиональные приемы работы в Microsoft Excel

Обмен опытом => Другие офисные программы => Тема начата: CooLer от 24.07.2008, 15:18

Название: рамки вокруг объектов
Отправлено: CooLer от 24.07.2008, 15:18
 Спецы, подскажите как макросом нарисовать рамку вокруг картинки (вставленной в Word).
При записи макроса и отработке соответсвующих действий руками, ничего не записывается =(
Название: Re: рамки вокруг объектов
Отправлено: Шпец Докапыч от 24.07.2008, 17:05
Цитата: CooLer от 24.07.2008, 15:18
При записи макроса и отработке соответсвующих действий руками, ничего не записывается =(

Здесь стоит обратить внимание на два момента:
Название: Re: рамки вокруг объектов
Отправлено: CooLer от 27.07.2008, 10:47
В том и проблемма, что запись макроса идёт, но в нём кроме "sub макрос2 и end sub " ничего не появляется. При выполнении других операций (не связанный с меню формат) всё пишется корректно.
Название: Re: рамки вокруг объектов
Отправлено: Шпец Докапыч от 27.07.2008, 14:15
Давайте попробуем вместе, пошагово (вдруг что-то было упущено):

Теперь, способ номер два:

PS: Раньше я так шпоры делал (не себе, естественно – себе по-другому :)) быстро. Загружал полсотни отсканированных листов, подбирал размер для одной картинки, а потом кодом размножал на остальные.
Название: Re: рамки вокруг объектов
Отправлено: CooLer от 28.07.2008, 10:37
 Ни один из вариантов не работает. Может это связано с 2007 офисом. При записи макроса ПКМ не работает. Изменения во вкладке формат в макрос не пишутся. Что-бы не делал запись в макросе пустая (sub макрос1 ' ' ' ' and sub).
С остальной частью макроса разобрался. Теперь осталась только обработка рисунка, но из-за не знания команд VBA не могу с ним ничего сделать.
Название: Re: рамки вокруг объектов
Отправлено: CooLer от 28.07.2008, 12:33
Шпец Докапыч
Понял в чём косяк. При вставке объекта он остаётся неактивным.
Название: Re: рамки вокруг объектов
Отправлено: Шпец Докапыч от 28.07.2008, 13:58
Цитата: CooLer от 28.07.2008, 12:33
Понял в чём косяк. При вставке объекта он остаётся неактивным.

Т.е. если досконально следовать предложенной мной очерёдности, всё ОК? Вопрос закрыт?
Название: Re: рамки вокруг объектов
Отправлено: CooLer от 29.07.2008, 10:07
Цитата: Шпец Докапыч от 28.07.2008, 13:58

Т.е. если досконально следовать предложенной мной очерёдности, всё ОК? Вопрос закрыт?

Да, спасибо огромное за помощь. Остался только такой вопрос, как сделать его активным. Могу прислать свой макрос, если это надо (за его кривость не ругайте, он у меня первый =)).
Название: Re: рамки вокруг объектов
Отправлено: Шпец Докапыч от 29.07.2008, 12:56
Цитата: CooLer от 29.07.2008, 10:07
Как сделать его активным?

Лучше в момент вставки привязать переменную и уже от неё управлять форматом, например:
Sub SH_UprKart()
Dim MyPict As Object
  Set MyPict = Selection.InlineShapes.AddPicture("C:\01.jpg") 'вставили рисунок
  With MyPict 'добавили рамки
    .Borders(-1).LineStyle = 9
    .Borders(-2).LineStyle = 9
    .Borders(-3).LineStyle = 10
    .Borders(-4).LineStyle = 10
  End With
End Sub


Либо можно поочерёдно пролистать все рисунки в тексте:
Sub SH_SmallPict()
Dim i As InlineShape
  For Each i In ActiveDocument.InlineShapes
    i.Height = 55 'сделали все маленькими
    i.Width = 75
  Next
End Sub
Название: Re: рамки вокруг объектов
Отправлено: CooLer от 01.08.2008, 11:24
 Спасибо огромное. Первый вариант не подошёл , так как рисунок искался по переменной у которой уже есть значение. А второй с добавлением границ очень помог. Спасибо!

  Получилось создать из excel новый ворд документ, отформатировать, впаять в него рисунок (имя берётся из таблицы excel) с рамками. =)