在 MS Access 中设置 VBA Excel 图表图例位置属性不起作用
这是我在 MS Access 2003 以编程方式创建一些 Excel 工作表时遇到的一个非常奇怪的问题。
使用此 VBA 代码片段,我无法设置 Excel 的 Position 属性Legend 对象(为了便于理解,省略了变量定义等)。
...
Set ChartObject = myWorksheet.ChartObjects.Add(myRange.Left, myRange.Top, myRange.width, myRange.Height)
Set Chart = ChartObject.Chart
Chart.HasLegend = True
'This line raises an error:
Chart.Legend.Position = -4107 '=xlLegendPositionBottom
...
MS Access 总是引发错误 1004:
“无法设置 Legend 类的 Position 属性”
令我困惑的是,我可以在 Exel VBA 中使用完全相同的代码,而且它可以正常工作。更让我困惑的是,可以设置属性 HasLegend 而不会发生任何错误。
有人有解决这个问题的提示吗?
This is a very strange issue I am facing for a while now, when creating some Excel worksheets programmatically from MS Access 2003.
Using this VBA-Code snippet I am not able to set the Position property of an Excel's Legend object (variable definitions and so on are left out to ease understanding).
...
Set ChartObject = myWorksheet.ChartObjects.Add(myRange.Left, myRange.Top, myRange.width, myRange.Height)
Set Chart = ChartObject.Chart
Chart.HasLegend = True
'This line raises an error:
Chart.Legend.Position = -4107 '=xlLegendPositionBottom
...
MS Access always raises the Error 1004:
"Unable to set the Position property of the Legend class"
It confuses me that I can use the exact same code from within Exel VBA and it just works. What confuses me even more is that the property HasLegend can be set whithout any error ocurring.
Someone has a hint to solve this issue?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在构建代码的通用版本后,我发现在 Office/Excel 2003 中,我必须在更改图例的位置之前将我的系列数据填充到图表中。可能该对象之前尚未启动。因此,我的代码应该如下所示:
After building a generic version of my code I found that in Office/Excel 2003 I have to populate my Series of data to the chart before changing the Legend's position. Probably the object hasn't been initiated before. My Code should therefore look like this: