Vba - Установить прозрачный цвет или прямое шестнадцатеричное значение метки backcolor? - PullRequest
0 голосов
/ 03 сентября 2010

Я хочу вставить метку в презентацию PowerPoint.Но я не хочу, чтобы там был какой-либо фон, или чтобы цвет фона был таким же, как и у нижнего.

Я обнаружил, что 082F68 - это шестнадцатеричный код, который я хочу.Код RGB: 8, 47, 104 Этот цвет должен быть голубоватым, но когда я его вставляю, он просто становится коричневым.Я действительно не хочу этого.Я также попытался установить для label.backcolor значение Color.Transparent.Но это не признается.Также не System.Drawing.Color.Transparent.Он просто говорит, что ему нужна ссылка на объект.

Но разве нельзя использовать прямые шестнадцатеричные значения для фона меток?

Ответы [ 2 ]

2 голосов
/ 04 июня 2013

(супер поздний ответ, но в случае, если другие имеют эту проблему)

Это создаст метку на слайде 1 в верхнем левом углу. В моей системе я получаю голубоватый цвет фона, о котором вы говорите.

ActivePresentation.Slides(1).Shapes.AddLabel(Orientation:=msoTextOrientationHorizontal, _
    Left:=0, Top:=0, Width:=50, Height:=50).name = "TestLabel"

Dim sh As Shape
Set sh = ActivePresentation.Slides(1).Shapes("TestLabel")
sh.TextFrame.TextRange.Text = "Hello"        
sh.Fill.BackColor.RGB = RGB(8, 47, 104)

Вы также можете установить прозрачность заполнения на 100% (заполнение будет прозрачным):

sh.Fill.Transparency = 1#

Я не уверен, что вы используете в качестве "заполнителя", но любой объект Shape будет иметь идентификатор:

MsgBox "Label ID = " + CStr(sh.Id)

но, вероятно, проще назвать его по имени, как я делаю выше. Идентификатор является числовым значением и не совпадает с индексом формы, что затрудняет обращение к форме по ее идентификатору.

Выше я программно назначаю имя, но вы также можете назвать форму самостоятельно: Home -> Arrange -> Pane Selection. В панели выбора вы можете нажать на названия всех фигур на слайде, чтобы редактировать их. Теперь вы можете ссылаться на эти имена фигур в коде.

0 голосов
/ 30 июня 2017

Попробуйте * .BackgroundColor = -1 'Прозрачный

...