Форум программистов, компьютерный форум, киберфорум VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/25: Рейтинг темы: голосов - 25, средняя оценка - 4.64
Модератор
 Аватар для TanaTiX
2914 / 1772 / 180
Регистрация: 19.02.2011
Сообщений: 6,520
1

Как изменить цвет фона страницы?

26.05.2014, 11:44. Показов 5120. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Когда-то давно сделал в Word-е по умолчанию серый цвет фона страницы (Формат>Фон). Сейчас вздумалось сделать кнопку, которая бы по клику в случае если фон серый делала его белым, а если белый - возвращала в серый.
Проблем несколько:
  1. Не могу найти описание свойства, отвечающего за изменение цвета фона документа.
  2. Не знаю как (возможно ли?) обеспечить сохранение результата для всех документов. При этом хотелось бы обойтись без явного открытия normal.dot, если это возможно.
Заранее спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.05.2014, 11:44
Ответы с готовыми решениями:

Как изменить цвет фона строки в ListView
Привет форумчане и гости. Я нещадно использую Excel, есть много макросов и форм со списками. Мой скилл и знания программирования...

Как изменить цвет фона ячейки ListView
Доброго времени суток, уважаемые. Проблема - пишу приложение в Access. И для одной из форм очень бы хотелось использовать разный цвет ...

Можно ли изменить цвет фона нескольких ячеек?
можно ли изменить цвет фона нескольких ячеек? Range(Cells(i, 1), Cells(i, 12)).Interior.ColorIndex = 18 работает, если только задать...

12
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
26.05.2014, 12:38 2
TanaTiX,
1. обычно макрорекордер дает ответ на этот вопрос. Конкретно по цвету фона - в 2007 макрорекордер записывает изменение свойств темы, но можно напрямую:
Visual Basic Скопировано
1
ActiveDocument.Background.Fill.ForeColor.RGB = &HC0C0C0
1
Модератор
 Аватар для TanaTiX
2914 / 1772 / 180
Регистрация: 19.02.2011
Сообщений: 6,520
26.05.2014, 13:06  [ТС] 3
Казанский, да, действительно, записывает.
Сделал такой вариант:
Visual Basic Скопировано
1
2
3
4
5
If ActiveDocument.Background.Fill.ForeColor.RGB = RGB(255, 255, 255) Then
        ActiveDocument.Background.Fill.ForeColor.RGB = RGB(192, 192, 192)
    Else
        ActiveDocument.Background.Fill.ForeColor.RGB = RGB(255, 255, 255)
    End If
Этот код по началу работал, а сейчас отказывается. Никаких ошибок не выдает. Даже пришлось проверить сам факт работы кода - работает. Но никак на документе это не сказывается. Я где-то что-то упустил?
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12144 / 4999 / 799
Регистрация: 07.08.2010
Сообщений: 14,724
Записей в блоге: 4
26.05.2014, 13:11 4
попробуйте
Visual Basic Скопировано
1
2
3
4
5
6
7
If ActiveDocument.Background.Fill.ForeColor.RGB = RGB(255, 255, 255) Then
    ActiveDocument.Background.Fill.ForeColor.RGB = RGB(192, 192, 192)
Elseif ActiveDocument.Background.Fill.ForeColor.RGB = RGB(192, 192, 192) then
    ActiveDocument.Background.Fill.ForeColor.RGB = RGB(255, 255, 255)
else
     ActiveDocument.Background.Fill.ForeColor.RGB = RGB(255, 255, 255)
End If
1
Модератор
 Аватар для TanaTiX
2914 / 1772 / 180
Регистрация: 19.02.2011
Сообщений: 6,520
26.05.2014, 13:26  [ТС] 5
shanemac51, не помогло, такое же поведение.

Не по теме:

ЗЫ. есть смутное сомнение, что дело не в коде, но в чем не знаю

0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12144 / 4999 / 799
Регистрация: 07.08.2010
Сообщений: 14,724
Записей в блоге: 4
26.05.2014, 13:27 6
хотя и ваш работает
правда перед этим я запустила свой
Visual Basic Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
Sub w140525_1326_back()
'
If ActiveDocument.Background.Fill.ForeColor.RGB = RGB(255, 255, 0) Then
ActiveDocument.Background.Fill.ForeColor.RGB = RGB(146, 208, 80)
    ActiveDocument.Background.Fill.Visible = msoTrue
    ActiveDocument.Background.Fill.Solid
Else
    ActiveDocument.Background.Fill.ForeColor.RGB = RGB(255, 255, 0)
    ActiveDocument.Background.Fill.Visible = msoTrue
    ActiveDocument.Background.Fill.Solid
End If
End Sub
1
Модератор
 Аватар для TanaTiX
2914 / 1772 / 180
Регистрация: 19.02.2011
Сообщений: 6,520
26.05.2014, 13:32  [ТС] 7
shanemac51, попробовал этот вариант - не пашет. Поставил MsgBox с выводом цвета - он рассказал, что цвет меняется, но реально я этого не вижу. В чем может быть проблема?
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12144 / 4999 / 799
Регистрация: 07.08.2010
Сообщений: 14,724
Записей в блоге: 4
26.05.2014, 13:46 8
надо смотреть документ, угадать не смогу
0
Модератор
 Аватар для TanaTiX
2914 / 1772 / 180
Регистрация: 19.02.2011
Сообщений: 6,520
26.05.2014, 13:57  [ТС] 9
shanemac51, я создаю новый документ - это не работает даже на новом документе
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12144 / 4999 / 799
Регистрация: 07.08.2010
Сообщений: 14,724
Записей в блоге: 4
26.05.2014, 14:34 10
попробуйте

Visual Basic Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub w140525_1324()
If ActiveDocument.Background.Fill.Visible = False Then
ActiveDocument.ActiveWindow.View.Type = wdWebView
With ActiveDocument.Background.Fill
    .Visible = True
    .ForeColor.RGB = RGB(192, 192, 192)
End With
End If
 
If ActiveDocument.Background.Fill.ForeColor.RGB = RGB(255, 255, 255) Then
      ActiveDocument.Background.Fill.ForeColor.RGB = RGB(192, 192, 192)
  Else
      ActiveDocument.Background.Fill.ForeColor.RGB = RGB(255, 255, 255)
  End If
End Sub
1
Модератор
 Аватар для TanaTiX
2914 / 1772 / 180
Регистрация: 19.02.2011
Сообщений: 6,520
27.05.2014, 17:23  [ТС] 11
shanemac51, переключает в веб-режим, в котором работает, но в режиме разметки - нет. Попытка манипуляции соответствующими свойствами - также без результата

Добавлено через 23 часа 3 минуты
Своими силами что-то все никак...
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12144 / 4999 / 799
Регистрация: 07.08.2010
Сообщений: 14,724
Записей в блоге: 4
27.05.2014, 18:51 12
нашла в справке
Visual Basic Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
Debug.Print ActiveDocument.Background.Fill.Visible
If ActiveDocument.Background.Fill.Visible = False Then
ActiveDocument.ActiveWindow.View.Type = wdWebView
With ActiveDocument.Background.Fill
    .Visible = True
    .ForeColor.RGB = RGB(192, 192, 192)
End With
End If
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Обои могут видеть только в режиме веб-документа.
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
end sub
0
Модератор
 Аватар для TanaTiX
2914 / 1772 / 180
Регистрация: 19.02.2011
Сообщений: 6,520
27.05.2014, 19:57  [ТС] 13
shanemac51, а нельзя запомнить текущий режим отображения документа, перейти в веб, сделать грязное дело и вернуть режим отображения в исходный?
Я вот так попробовал - не работает
Visual Basic Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Dim a As Integer
    a = ActiveDocument.ActiveWindow.View.Type
    If ActiveDocument.Background.Fill.Visible = False Then
    ActiveDocument.ActiveWindow.View.Type = wdWebView
    With ActiveDocument.Background.Fill
        .Visible = True
        .ForeColor.RGB = RGB(192, 192, 192)
    End With
    End If
 
If ActiveDocument.Background.Fill.ForeColor.RGB = RGB(255, 255, 255) Then
      ActiveDocument.Background.Fill.ForeColor.RGB = RGB(192, 192, 192)
  Else
      ActiveDocument.Background.Fill.ForeColor.RGB = RGB(255, 255, 255)
  End If
  ActiveDocument.ActiveWindow.View.Type = a
Так тоже
Visual Basic Скопировано
1
2
3
4
5
6
7
8
9
10
11
Dim a As Integer
    a = ActiveDocument.ActiveWindow.View.Type
    Debug.Print ActiveDocument.Background.Fill.Visible
    If ActiveDocument.Background.Fill.Visible = False Then
    ActiveDocument.ActiveWindow.View.Type = wdWebView
    With ActiveDocument.Background.Fill
        .Visible = True
        .ForeColor.RGB = RGB(192, 192, 192)
    End With
    End If
    ActiveDocument.ActiveWindow.View.Type = a
При этом, что странно, стоит один раз в документе вручную поменять фон - дальше работает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.05.2014, 19:57
Помогаю со студенческими работами здесь

Как программно установить в Excel цвет фона диапазона ячеек?
Привет всем ! Собственно, из вопроса всё ясно. Cпасибо, ZandR

Как изменить цвет фона в ListBox'е?
Можно как-нибудь изменить цвет фона в ListBox'е?

как изменить цвет фона QTreeView?
Добрый день, подскажите как изменить цвет фона QTreeView. Не ячеек, а той области,которая находится "под" ячейками. мой код...

Как изменить цвет текста и фона
Куда мне вставить изменения цвета текста и фона :-( ? Подскажите,пожалуйста. Код рабочей программы: d1 segment para public...

Как изменить цвет фона у TitleBar?
Добрый вечер. как в WPF приложение изменить цвет(background) у TitleBar. Накидал я кое что но он не подключает блок (box-shadow) ...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Лучшие практики оптимизации Docker Image
Mr. Docker 13.03.2025
Размер Docker-образа влияет на множество аспектов работы с контейнерами. Чем больше образ, тем дольше его загрузка в реестр и выгрузка из него. Для команд разработки, работающих с CI/ CD пайплайнами,. . .
Вопросы на собеседовании по Docker
Mr. Docker 13.03.2025
Ты сидишь напротив технического специалиста, и вдруг звучит вопрос про Docker Swarm или многоэтапные сборки. Пот на лбу? Не переживай, после этой статьи ты будешь готов ко всему! Эта статья будет. . .
Поиск текста в сносках : замена дефиса на тире или тире на дефис...
РоΜа 13.03.2025
Нужно было найти текст в сносках и заменить. Почему-то метод селекшн не сработал. . . пришлось гуглить. найденный на форумвба код пришлось править. Смысл - заменяет в сносках дефисы и тире на нужные. . . .
Real PATH definitions in bash scripts
jigi33 13.03.2025
Как поймать путь и путь к директории относительно запускаемого файла в BASH 1. поймать путь через вывод $(pwd) 2. более правильно - на основе realpath (см. скриншот)
Django или Flask: что выбрать для веб-разработки на Python
py-thonny 13.03.2025
Django – это высокоуровневый фреймворк, который придерживается философии "всё включено". Он предоставляет разработчику готовые решения для большинства типичных задач веб-разработки: от аутентификации. . .
Непрерывное развертывание в Java с Kubernetes
Javaican 13.03.2025
Чем так привлекателен Kubernetes для развертывания Java-приложений? Этот оркестратор контейнеров позволяет автоматизировать развертывание, масштабирование и управление контейнеризированными. . .
Предотвращение XSS, CSRF и SQL-инъекций в JavaScript
run.dev 13.03.2025
JavaScript занимает первые позиции среди языков веб-разработки, но его распространенность делает его привлекательной целью для злоумышленников. Межсайтовый скриптинг (XSS), межсайтовая подделка. . .
PHP 8: JIT-компиляция и улучшение производительно­сти
Jason-Webb 13.03.2025
PHP никогда не славился своей скоростью. Многие сталкивались с проблемами производительности при работе со сложными вычислениями или обработкой больших объемов данных. Традиционная модель выполнения. . .
Сериализация данных с Apache Avro в Kafka
Javaican 12.03.2025
Apache Kafka стала одним из ключевых решений для работы с большими потоками данных. Однако с ростом объемов передаваемых данных возникает проблема: как эффективно сериализовать и десериализовать. . .
Создание потребителей Kafka с помощью Reactor Kafka
Javaican 12.03.2025
Reactor Kafka — это библиотека, объединяющая Apache Kafka с реактивным программированием на базе Project Reactor. Такое сочетание позволяет строить неблокирующие, асинхронные приложения с контролем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер