【发布时间】:2015-07-13 08:35:23
【问题描述】:
我想在 Excel 中创建一个 3D 饼图。现在,我有了创建它和设置源数据的代码,但我的问题是我希望图表在特定的工作表上,我想调整它的大小并重新定位它。我尝试了从 VBA 示例到 VBScript 示例在网上找到的各种选项,但没有任何效果。我的VBScript代码如下:
Set objExcel = CreateObject( "Excel.Application" )
objExcel.Visible = True
objExcel.SheetsInNewWorkbook = 1
objExcel.Workbooks.Add
Set objSheet = objExcel.ActiveWorkbook.Worksheets( 1 )
objSheet.Cells( 1, 1 ).Value = "Operating System"
objSheet.Cells( 2, 1 ).Value = "Windows Server 2003"
objSheet.Cells( 3, 1 ).Value = "Windows XP"
objSheet.Cells( 4, 1 ).Value = "Windows 2000"
objSheet.Cells( 5, 1 ).Value = "Windows NT 4.0"
objSheet.Cells( 6, 1 ).Value = "Other"
objSheet.Cells( 1, 2 ).Value = "Number of Computers"
objSheet.Cells( 2, 2 ).Value = 146
objSheet.Cells( 3, 2 ).Value = 487
objSheet.Cells( 4, 2 ).Value = 211
objSheet.Cells( 5, 2 ).Value = 41
objSheet.Cells( 6, 2 ).Value = 56
Set objRange = objSheet.UsedRange
objRange.Select
Set colCharts = objExcel.Charts
colCharts.Add()
Set objChart = colCharts( 1 )
objChart.Activate
objChart.ChartType = 70
objChart.Elevation = 40
objChart.Rotation = 80
我找到了objChart.Location 1 的关键字,但它在自己的工作表上创建了图表,并且占据了整个工作表。我试过 0 和 2 但都返回错误。我也尝试了一个工作表名称,但这也返回了一个错误。然后,一旦我将它放在我想要的工作表上,我想调整整个图表的大小并定位它。
通过设置大小和位置,我发现以下内容:
objExcel.ActiveChart.Width = 300
但这会产生错误。我发现了上述各种类型的线路,但都无济于事。以上可能有效,但我怀疑由于图表在其自己的工作表上并且以“全屏”模式显示,因此无法调整大小/重新定位。
【问题讨论】: