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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.03.2010, 18:04   #11
Nord18
Пользователь
 
Регистрация: 25.02.2010
Сообщений: 43
По умолчанию

Как изменить рамку с помощью VBA?
Nord18 вне форума Ответить с цитированием
Старый 07.03.2010, 18:28   #12
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

Для варианта с VBA:
Размещаете рисунок.
Определяете для него в Word ширину границы.
Выбираете рисунок как текущий объект.
Нажимаете Alt-F11
Переходите в VBE
Нажимаете Ctrl+G
В окне Immediate набираете: Selection.ShapeRange.Line.Pattern = msoPatternLargeConfetti
Нажимаете Enter.
Возвращаетесь в Word.
Естественно, вместо msoPatternLargeConfetti нужно указывать нужный вам тип узора.
Его можно посмотреть в HELP или подобрать экспериментально простейшим макросом.
Если вам нужно выполнять подобные действия регулярно - напишите простейший макрос и запускайте его.
Aent вне форума Ответить с цитированием
Старый 07.03.2010, 18:42   #13
Nord18
Пользователь
 
Регистрация: 25.02.2010
Сообщений: 43
По умолчанию

Когда я ввожу Selection.ShapeRange.Line.Pattern = msoPatternLargeConfetti возникает ошибка. Как правильно указать нужный тип узора? Какой HELP Вы имеете ввиду?
P.S. Не судите строго, я не программист...

Последний раз редактировалось Nord18; 07.03.2010 в 18:46.
Nord18 вне форума Ответить с цитированием
Старый 07.03.2010, 19:31   #14
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

Под "Выбираете рисунок как текущий объект" в частности подразумевалось
что вы установите для рисунка перед выделением его мышью тип обтекания текстом: "перед текстом". Потом конечно можно его поменять.
HELP - HELP по VBA Word 2003
Допустимы следующие MsoPatternType константы:
msoPattern10Percent
msoPattern20Percent
msoPattern25Percent
msoPattern30Percent
msoPattern40Percent
msoPattern50Percent
msoPattern5Percent
msoPattern60Percent
msoPattern70Percent
msoPattern75Percent
msoPattern80Percent
msoPattern90Percent
msoPatternDarkDownwardDiagonal
msoPatternDarkHorizontal
msoPatternDarkUpwardDiagonal
msoPatternDarkVertical
msoPatternDashedDownwardDiagonal
msoPatternDashedHorizontal
msoPatternDashedUpwardDiagonal
msoPatternDashedVertical
msoPatternDiagonalBrick
msoPatternDivot
msoPatternDottedDiamond
msoPatternDottedGrid
msoPatternHorizontalBrick
msoPatternLargeCheckerBoard
msoPatternLargeConfetti
msoPatternLargeGrid
msoPatternLightDownwardDiagonal
msoPatternLightHorizontal
msoPatternLightUpwardDiagonal
msoPatternLightVertical
msoPatternMixed
msoPatternNarrowHorizontal
msoPatternNarrowVertical
msoPatternOutlinedDiamond
msoPatternPlaid
msoPatternShingle
msoPatternSmallCheckerBoard
msoPatternSmallConfetti
msoPatternSmallGrid
msoPatternSolidDiamond
msoPatternSphere
msoPatternTrellis
msoPatternWave
msoPatternWeave
msoPatternWideDownwardDiagonal
msoPatternWideUpwardDiagonal
msoPatternZigZag
Названия говорят сами за себя.
Aent вне форума Ответить с цитированием
Старый 07.03.2010, 19:40   #15
Nord18
Пользователь
 
Регистрация: 25.02.2010
Сообщений: 43
По умолчанию

Вот Теперь работает!! А цвета реально изменить???Или только стандартные черно-белые остаются?

Последний раз редактировалось Nord18; 07.03.2010 в 19:47.
Nord18 вне форума Ответить с цитированием
Старый 07.03.2010, 21:12   #16
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

Так же меняются и цвета

Selection.ShapeRange.Line.ForeColor - цвет объектов переднего плана
Selection.ShapeRange.Line.BackColor - цвет фона

цвет это целое типа long со значением 24 битового цвета по RGB(red-green-blue):
Либо используйте именованные константы типа WdColor
Цитата:
WdColor can be one of these WdColor constants.
wdColorGray625
wdColorGray70
wdColorGray80
wdColorGray875
wdColorGray95
wdColorIndigo
wdColorLightBlue
wdColorLightOrange
wdColorLightYellow
wdColorOliveGreen
wdColorPaleBlue
wdColorPlum
wdColorRed
wdColorRose
wdColorSeaGreen
wdColorSkyBlue
wdColorTan
wdColorTeal
wdColorTurquoise
wdColorViolet
wdColorWhite
wdColorYellow
wdColorAqua
wdColorAutomatic
wdColorBlack
wdColorBlue
wdColorBlueGray
wdColorBrightGreen
wdColorBrown
wdColorDarkBlue
wdColorDarkGreen
wdColorDarkRed
wdColorDarkTeal
wdColorDarkYellow
wdColorGold
wdColorGray05
wdColorGray10
wdColorGray125
wdColorGray15
wdColorGray20
wdColorGray25
wdColorGray30
wdColorGray35
wdColorGray375
wdColorGray40
wdColorGray45
wdColorGray50
wdColorGray55
wdColorGray60
wdColorGray65
wdColorGray75
wdColorGray85
wdColorGray90
wdColorGreen
wdColorLavender
wdColorLightGreen
wdColorLightTurquoise
wdColorLime
wdColorOrange
wdColorPink
Либо используйте константы VBA
Цитата:
Constant Value Description
vbBlack 0x0 Чёрный
vbRed 0xFF Красный
vbGreen 0xFF00 Зелёный
vbYellow 0xFFFF Жёлтый
vbBlue 0xFF0000 Синий
vbMagenta 0xFF00FF Марганцевый
vbCyan 0xFFFF00 Циан (зелёно-синий)
vbWhite 0xFFFFFF Белый
Либо явно задавайте цвет по RGB
Код:
Selection.ShapeRange.Line.ForeColor.RGB = RGB(5,12,13)
Числовые значения RGB показываются в стандартных диалогах выбора цвета при выборе "другие цвета".
Aent вне форума Ответить с цитированием
Старый 08.03.2010, 06:19   #17
Nord18
Пользователь
 
Регистрация: 25.02.2010
Сообщений: 43
По умолчанию

Если можно хотябы 1 примерчик, как это все задать правильно и моя благодарность не знает границ!!!! Плиззз
Nord18 вне форума Ответить с цитированием
Старый 08.03.2010, 16:37   #18
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

Я же написал "так же как с паттернами". Непонятно что вам непонятно...
Последовательно вводите в окне Immediate:
Selection.ShapeRange.Line.Pattern = msoPatternLargeConfetti
Нажимаете Enter
Selection.ShapeRange.Line.ForeColor = vbRed
Нажимаете Enter
Selection.ShapeRange.Line.BackColor = vbGreen
Нажимаете Enter
Имеете рамку в виде красного конфети на зелёном фоне
Aent вне форума Ответить с цитированием
Старый 08.03.2010, 17:17   #19
Nord18
Пользователь
 
Регистрация: 25.02.2010
Сообщений: 43
По умолчанию

Все! Теперь понял! Я последовательность не соблюдал поэтому вылетала ошибка...Макросом это не реально наверное сделать, слишком много настроек?
Nord18 вне форума Ответить с цитированием
Старый 08.03.2010, 19:04   #20
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

Вполне реально. Но поскольку вопрос весьма экзотический (вот даже Микрософт из стандартного интерфейса эти средства исключила), то просто так делать макрос с развёрнутым удобным пользовательским интерфейсом не хочется. Если у вас есть желание получить его на коммерческой основе - пишите ваши предложения по сумме на мой E-Mail в профиле. Сделаю вам надстройку.
Aent вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Конвертировать формулы из [2007 Word 2007] в [2003 Word 2003] mswmd Microsoft Office Word 8 10.07.2017 17:06
Масштабирование рисунка в Word c помощью VBA Vavo Microsoft Office Word 4 13.12.2009 19:52
Стили MS WORD 2007 max38934 Microsoft Office Word 4 04.06.2009 02:25
MS WORD 2007 Айрат Microsoft Office Word 15 13.05.2009 18:46