尝试使用Powershell生成的条形图格式化datalabel字体大小,但不起作用
阅读VBA和.NET的Chart.SeriesCollection的“整个” API。但这无济于事。是虫子还是脑子虫子?有谁可以帮助您?
https://docs.microsoft.com/de-de/office/vba/api/excel.chart.seriescollection
我的尝试(对此有不同的迭代)
$chart.SeriesCollection(1).DataLabels.Format.TextFrame2.TextRange2.Font.Size = 18
Powershell错误消息:在此对象上找不到属性“大小”。确认该属性存在并且可以设置。
整个简短的powershell脚本:
$excel = New-Object -comobject Excel.Application
$excel.Visible = $True
$workbook = $excel.Workbooks.Add()
$sheet = $excel.Worksheets.Item(1)
$sheet.Activate() | Out-NULL
$sheet.Cells.Item(1,1).Value2 = "City"
$sheet.Cells.Item(1,2).Value2 = "Citizens"
$sheet.Cells.Item(2,1) = "Offenbach"
$sheet.Cells.Item(2,2) = 111020
$sheet.Cells.Item(3,1) = "Heusenstamm"
$sheet.Cells.Item(3,2) = 18200
$sheet.Cells.Item(4,1) = "Rembruecken"
$sheet.Cells.Item(4,2) = 1850
$range = "A1:B4"
$chartSelect = $sheet.range($range)
$ch = $sheet.shapes.addChart().chart
$ch.chartType = 51
$ch.ApplyDataLabels(2)
$ch.SeriesCollection(1).DataLabels.Format.TextFrame2.TextRange2.Font.Size = 18
$ch.setSourceData($chartSelect)
答案 0 :(得分:0)
尝试一下?
1..3| %{$ch.SeriesCollection(1).DataLabels($_).Font.Size = 18}
答案 1 :(得分:0)
应该有两种语法可以使用。
您需要在VBIDE的对象浏览器中选择“显示隐藏的成员”以查看(好像已被弃用,但可以正常工作)的旧版本:
ActiveChart.SeriesCollection(2).DataLabels.Font.Size = 18
新的,经过改进的方式更加复杂:
ActiveChart.SeriesCollection(2).DataLabels.Format.TextFrame2.TextRange.Font.Size = 18
我将让您从VBA转换为PowerShell。