如何将单元格的填充图案复制到形状?
How to Copy the fill pattern of a cell to a shape?
我一直在编写一个代码,复制单元格的颜色并将其粘贴到相关形状。我能够复制颜色。但是,复制单元格的填充图案似乎更复杂。
我遇到的问题是,例如,单元格的模式参数是 "xlLightHorizontal",而形状的相同模式是 "msoPatternNarrowHorizontal"。两者绘制相同的填充图案但名称不同。
如何复制单元格的颜色和填充图案:
modelText(3, 1) = Sheets("Orders").Cells(row, j + 1).Interior.Color
modelText(3, 2) = Sheets("Orders").Cells(row, j + 1).Interior.Pattern
modelText(3, 3) = Sheets("Orders").Cells(row, j + 1).Interior.PatternColor
我如何为形状指定颜色和填充图案:
With Selection.ShapeRange.Fill
.ForeColor.RGB = modelText(3, 1)
.BackColor.RGB = modelText(3, 3)
.Patterned (msoPatternLightHorizontal)
End With
注意:
Cells(row, j + 1).Interior.Pattern
returns xlLightHorizontal
在哪里
ShapeRange.Fill.Patterned
不接受xlLightHorizontal
作为输入参数
你知道如何将单元格的填充图案复制到形状吗?
我试图找到解决办法。看起来两组枚举不匹配。我希望你确实有一组非常有限的模式你想使用。在这种情况下,我将对枚举进行 table 对(相同或至少相似模式的数字)以进行转换。我没有更好的主意。对不起。
https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.core.msopatterntype?view=office-pia 和
https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.interop.excel.constants?view=excel-pia
我一直在编写一个代码,复制单元格的颜色并将其粘贴到相关形状。我能够复制颜色。但是,复制单元格的填充图案似乎更复杂。 我遇到的问题是,例如,单元格的模式参数是 "xlLightHorizontal",而形状的相同模式是 "msoPatternNarrowHorizontal"。两者绘制相同的填充图案但名称不同。
如何复制单元格的颜色和填充图案:
modelText(3, 1) = Sheets("Orders").Cells(row, j + 1).Interior.Color
modelText(3, 2) = Sheets("Orders").Cells(row, j + 1).Interior.Pattern
modelText(3, 3) = Sheets("Orders").Cells(row, j + 1).Interior.PatternColor
我如何为形状指定颜色和填充图案:
With Selection.ShapeRange.Fill
.ForeColor.RGB = modelText(3, 1)
.BackColor.RGB = modelText(3, 3)
.Patterned (msoPatternLightHorizontal)
End With
注意:
Cells(row, j + 1).Interior.Pattern
returns xlLightHorizontal
在哪里
ShapeRange.Fill.Patterned
不接受xlLightHorizontal
作为输入参数
你知道如何将单元格的填充图案复制到形状吗?
我试图找到解决办法。看起来两组枚举不匹配。我希望你确实有一组非常有限的模式你想使用。在这种情况下,我将对枚举进行 table 对(相同或至少相似模式的数字)以进行转换。我没有更好的主意。对不起。
https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.core.msopatterntype?view=office-pia 和 https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.interop.excel.constants?view=excel-pia