将Access中的图表导出为图片格式?

3

我在Access表单中创建了一个图表,并以图片格式导出它。 这很容易做到,但问题是当我关闭表单后,会弹出一个消息框。

"Chart对象的操作失败。
可能未注册OLE服务器。
要注册OLE服务器,请重新安装它。"

后来我做了一些更改,代码看起来像:

Private Sub Command1_Click()     
  Dim grpApp As Graph.Chart 

  Set grpApp = Me.Graph1.Object     
  grpApp.Export "C:\Graph1.jpg", "JPEG"     
  Me.Graph1.Enabled = True    
  Me.Graph1.Locked = False    
  Set grpApp = Nothing     
  Me.Graph1.Action = acOLEClose     
End Sub

现在的问题是,在导出之后,图表变得很糟糕,字体变大了且变得紧凑,柱形看起来很短...我真的卡住了。
1个回答

0

在尝试了各种解决方法后,我找到了几乎相同的问题和一个正确的解决方法:

  • 在导出之前尝试解锁图形,并在导出后恢复锁定
'Unlock the control...
Me!YourOLEChart.Locked = False
Me!YourOLEChart.Enabled = True

'Do the actual export...
Set oleGrf = Me!YourOLEChart.Object
oleGrf.Export filename, "JPEG"
Set oleGrf = Nothing
Me!YourOLEChart.Action = acOLEClose

'Restore the lock...
Me!YourOLEChart.Locked = True
Me!YourOLEChart.Enabled = False
  • 重要提示:请记得设置Action acOLEClose以避免OLE服务器崩溃。

你并不孤单 - 我也曾遇到同样的问题。在表单的多次运行中,在导出执行后,图表/图形/OLEFrame变得不正确(在表单视图中),其格式发生了改变,我不知道为什么。


不再出现OLE服务器崩溃,但下次打开表单时图形格式混乱。只能通过调整图表大小来恢复它。 - June7

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接