我有一个循环,它运行来生成一个PNG (在HTML文件中使用)。运行时,复制/粘贴不适用于计算机上的其他应用程序。有没有办法在excel中进行复制/粘贴?和/或加速这段代码?(其中一些代码是我在其他地方找到的,感谢您的帮助。)谢谢。
Sub ToPNG()
' save a range from Excel as a picture
Dim r As Range
Dim c As ChartObject
Const strPath As String = "C:\G\"
Application.ScreenUpdating = False
Set r = Workbooks("GMon.xlsm").Worksheets("Main").Range("Print_Area")
r.CopyPicture xlScreen, xlPicture
Set c = ActiveSheet.ChartObjects.Add(0, 0, r.Width + 0, r.Height + 7)
c.Chart.Paste
c.Chart.Export strPath & "GMonOut.png", "PNG"
c.Delete
ExitProc:
Application.ScreenUpdating = True
Set c = Nothing
Set r = Nothing
End Sub
发布于 2011-12-27 21:16:53
由于“每隔几秒钟”运行的代码正在使用剪贴板,因此它将干扰剪贴板的任何其他用户。
我看到的唯一选择是重写代码,以完全避免使用Copy
Paste
操作。(可能通过自动使用第三方屏幕捕获实用程序)
https://stackoverflow.com/questions/8645745
复制