从导出图表的用户窗体创建图像

Creating an image from a userform of exported charts

我写了一个代码来绘制各种数据。然后将图表导出为 .gif 文件。然后图像文件作为图片加载到用户窗体中的图像控件中,如下所示。

如何将整个用户表单(最好没有右侧的 3 个按钮)导出为图像以用于报告?

目前我正在使用手动打印屏幕,但它非常耗时..

Chart Example

目前我是手动使用printscreen但是很费时间.. 有没有办法访问 alt-printscreen 按钮?

图表创建代码本身并不相关,但如果需要我可以分享。

我希望得到一个可以在 word 文档中使用的图像文件。 最好裁剪以删除用户窗体右侧的 3 个按钮。

史蒂文

在下面的子程序中,我使用 SendKeys 方法发送 Alt+PrintScreen ("%{1068}") 和 Ctrl+V ("^v") 在当前应用上。 SendKeys 方法模拟键盘的按键操作,因此它会复制您现在正在做的事情。

Sub PrintTheScreen()
    Application.SendKeys ("%{1068}")
    DoEvents
    Application.SendKeys ("^v")
    DoEvents
End Sub

可参考此方法here

将发送键应用于用户窗体将模拟您按下按钮。届时,您可以设置一个word应用程序对象并粘贴打印的屏幕,例如。

子创建WDDoc() Dim appWD As Word.Application

Set appWD = CreateObject("Word.Application")
    appWD.Visible = True
    appWD.Documents.Add
    appWD.SendKeys ("^v")
    ' Change the string to the path you wish to use for seving the file
    appWD.SaveAs (“”)
    appWD.Quit
End Sub

请记住,要使用此类功能,您需要在项目中引用单词库,位于工具 >> 参考资料 下。可以找到更多信息 here