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

Excel 从导出图表的用户窗体创建图像,excel,vba,image,userform,Excel,Vba,Image,Userform,我已经编写了一个代码,可以绘制各种数据。然后将图表导出为.gif文件。然后将图像文件作为图片加载到用户表单中的图像控件中,如下所示 如果没有右边的3个按钮,我如何导出整个userform作为报表中使用的图像 目前我使用的是手动打印屏幕,但它相当耗时 目前我正在手动使用printscreen,但它非常耗时。。 是否有办法访问alt printscreen按钮 图表创建代码本身并不相关,但如果需要,我可以与大家分享 我希望有一个图像文件,然后可以在word文档中使用。 最好裁剪以删除用户表单右侧的3

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

如果没有右边的3个按钮,我如何导出整个userform作为报表中使用的图像

目前我使用的是手动打印屏幕,但它相当耗时

目前我正在手动使用printscreen,但它非常耗时。。 是否有办法访问alt printscreen按钮

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

我希望有一个图像文件,然后可以在word文档中使用。 最好裁剪以删除用户表单右侧的3个按钮。

Steven

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

Sub PrintTheScreen()
    Application.SendKeys ("%{1068}")
    DoEvents
    Application.SendKeys ("^v")
    DoEvents
End Sub
可以找到此方法的参考

将sendkeys应用于userform将模拟您的按钮按下。例如,到那时,您可以设置word应用程序对象并粘贴打印屏幕

子创建WDDOC Dim appWD作为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

请记住,要使用这些函数,您需要在项目中的“工具>>引用”下引用word library。可以找到更多信息。

谢谢你,Breno,我实际上将它与一个名为GreenShot的软件结合使用,该软件覆盖了我的printscreen按钮。我可以使用这个程序自动将屏幕截图保存到一个定义的目录中。与您的sendkeys方法相结合,这是一种享受!为了删除侧面的3个按钮,我刚刚创建了一个重复的userform,没有按钮,专门用于导出时。