|
本帖最后由 风飘绝影 于 2023-11-26 07:58 编辑
想要用VBA实现对Excel表格的区域内容保存为图片,在网上找了个代码,每次要保存代码就会被动态防御判断为病毒:
病毒名称:OMacro/Ledod
病毒ID:EC044F678912382F
操作类型:执行
操作结果:已处理,清除恶意代码
我在其他表格使用没啥问题,就是在文件名为“客户”的文件中就出现这个病毒,不知道是否有专业大神帮忙看下?
附对应VBA代码:
- Sub 截图()
- Application.ScreenUpdating = False
-
- Dim ChartPath As String
- Dim range_str As String
- Dim file_str As String
-
- '需要保存为图片的区域
- range_str = "A3:O40"
-
- '保存为文件名为
- file_str = "客户.png"
-
- '保存路径 D:\ 路径可自已修改
- ChartPath = "D:" & file_str
-
- '缩放尺寸 (缩放后图片更清晰)
- ActiveWindow.Zoom = 200
-
- Dim chtObject As ChartObject
-
- ' Sheet1 可更改为自己需要导出的 工作表 Sheet2/Sheet3......
- With Sheet1
- .Range(range_str).CopyPicture
- Set chtObject = ActiveSheet.ChartObjects. _
- Add(500, 100, .Range(range_str).Width, .Range(range_str).Height)
- chtObject.Activate
- chtObject.Chart.Paste
-
- End With
-
- On Error Resume Next
- Kill ChartPath
- chtObject.Chart.Export Filename:=ChartPath, Filtername:="png"
-
- '删除chtObject的容器
- chtObject.Activate
- ActiveChart.Parent.Delete
-
- '缩放尺寸
- ActiveWindow.Zoom = 100
- Set chtObject = Nothing
-
- Application.ScreenUpdating = True
- End Sub
复制代码
|
|