Свойство Shape.Line.Transparency со значением вне диапазона -2.147484E + 09 - PullRequest
0 голосов
/ 26 мая 2019

Давайте создадим фигуру в документе Word или на листе Excel.Когда на панели «Формат фигуры» выбран параметр «Без линии» (Инструменты рисования> Формат> Стили стиля), я заметил, что его свойство Shape.Line.Transparency (типа данных Single) равно -2.147484E+09!

Это странно ... Нормальный диапазон свойства - [0, 1], и он НЕ МОЖЕТ быть установлен вне этого диапазона (если вы пытаетесь выйти за пределы диапазона, но каким-то образом Word / Excel допускает это значение.

Мой гость в том, что это внутренний код, используемый Word / Excel, чтобы помнить, что опция «Без линии» была применена к Shape.В самом деле, если вы установите сплошную заливку для линии Shape, Excel тогда записывает Shape.Line.Visible = msoFalse, возвращая ее в положение «Нет линии».Теперь, если вы запустите эту строку кода в Shape «Сплошная заливка», строка Shape будет правильно невидима, но ее свойство .Transparency будет равно 0, и опция «Без строки» не будет выбрана на панели Format Shape.(даже нет!)

Тогда почему Shape.Fill.Transparency не имеет такого поведения, спросите вы ... Я понятия не имею.Но есть ли у кого-либо такая же проблема с этим свойством?

https://www.binaryconvert.com/result_float.html?decimal=045050046049052055052056051054053069057 или с помощью этого инструмента: https://www.h -schmidt.net / FloatConverter / IEEE754.html

IEEE-754 32-битное число с плавающей запятой с одинарной точностью: -2.147484E+09

Двоичный: 11001111000000000000000000000000

Гекса: 0xCF000000

Есть лиальтернатива для правильной установки линии Shape на «No line», как если бы Word / Excel сделал это (что означает выбор выбранной кнопки «No line» и свойство, установленное в указанное выше специальное значение)?

I 'm с использованием Office 365 (16.0.11425.20200) 32-разрядная

...