Как сохранить текущую цветовую схему в переменной и установить цветовую схему новой книги в эту переменную - PullRequest
0 голосов
/ 03 мая 2019

Я разрабатываю инструменты на базе Excel для своего отдела, и недавно у меня возник вопрос, который я просто не могу понять.У меня есть рабочий код, который копирует определенные листы в ActiveWorkbook, создавая новую книгу только с этими листами.У меня проблема в том, что цветовая тема сбрасывается, когда это происходит.Я попытался исправить с помощью приведенного ниже кода, но получаю ошибку несоответствия типов.

любая помощь будет принята с благодарностью.

Запуск Microsoft O365 - Excel 2016

Sub SomeSub()

dim wsColors as Variant

set wsColors = ThisWorkbook.Colors()

Thisworkbook.Worksheets(1).Copy

Activesheet.Colors() = ws.Colors

End Sub

Ожидаемые результаты заключаются в том, что я получу цветовую схему текущей рабочей книги, сохраненную в варианте wsColors, а затем настрою вновь созданный лист с той же цветовой схемой.

Я использую только предустановленную цветовую схему (Windows 2007 -2010) в качестве моей желаемой конечной точки, поэтому, если есть другой способ просто сослаться на это, как это доступно в каждой книге, без необходимости брать ее у другого, я все уши.

решено -

Смог сделать это с

ActiveWorkbook.Theme.ThemeColorScheme.Load ( _
        "C:\Program Files (x86)\Microsoft Office\Root\Document Themes 16\Theme Colors\Office 2007 - 2010.xml" _
        )

1 Ответ

1 голос
/ 04 мая 2019

2 или 3 изменения исправляют это

Sub SomeSub()
  Dim wsColors As Variant

  wsColors = ThisWorkbook.Colors
  ThisWorkbook.Worksheets(1).Copy
  ActiveWorkbook.Colors() = wsColors
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...