Excel是否可以实现屏幕任意区域截图?听起来似乎有些不务正业,已经有那么多截图软件,并且微信、QQ等也都提供了截图功能,但是存在的就是合理的,借助强大的PowerShell就可以实现任意区域截图功能。

示例代码如下。

Sub ScreenShot(strFile, pos_x, pos_y, image_width, image_height)Dim strArgs As StringDim strPSCmd As StringstrArgs = Join(Array("'" & strFile & "'", pos_x, pos_y, image_width, image_height))strPSCmd = "function SSRegion($strFile, $pos_x, $pos_y, $image_width, $image_height) {" & _"Add-type -AssemblyName System.Drawing;" & _"$graphic = [System.Drawing.Graphics]::FromImage($bitmap);" & _"$graphic.CopyFromScreen($pos_x, $pos_y, 0, 0, $bitmap.Size);" & _"$bitmap = New-Object System.Drawing.Bitmap $image_width, $image_height;" & _"$bitmap.Save($strFile);}; SSRegion "Shell "powershell -Command " & strPSCmd & strArgs, vbHide
End Sub

【代码解析】
第4行代码将参数组合为一个空格分隔的字符串。
第5~10行代码为PowerShell命令。
第11行代码调用Shell执行PowerShell命令。
第14行代码调用ScreenShot过程完成截屏,截屏区域区域左上角屏幕坐标为(100,100),截图区域宽度和高度均为300像素。

运行Demo过程,悄无声息完成截图,是不是有点儿酷!

Sub Demo()ScreenShot "C:\Temp\SquareScrShot.png", 100, 100, 300, 300
End Sub

代码仅为功能演示,并未考虑截图区域是否会超出屏幕分辨率等细节问题,大家可以自行完善。

Office VBA也能任性截图(屏幕任意区域截图)相关推荐

  1. Python实现计算机屏幕任意区域截图

    程序功能与用法:运行后有个主窗体,上面有个按钮,单击后开始截图,鼠标坐标落下开始截图,鼠标左键抬起表示截图结束,然后弹出对话框提示保存截图文件. 本文要点在于Python扩展库pillow提供的Ima ...

  2. Python+tkinter+pillow实现屏幕任意区域截图

    基本思路:首先获取并显示全屏幕截图,然后在全屏幕截图上响应鼠标左键按下和抬起事件,最后进行二次截图. import tkinter import tkinter.filedialog import o ...

  3. 服务器主体信息截图,puppeteer实现线上服务器任意区域截图

    整个九月份由于业务繁重以及玩心颇重,一直没有机会来写一篇博文.而且笔者于十月一日将会举办人生大事--婚礼,现在家里筹办过程中只能抽出零碎的时间来写这篇文章. 关于服务端截图,这种使用场景非常少见,大多 ...

  4. 在vue项目中使用html2canvas截图(固定区域截图)

    1.项目目录下,打开dos窗口使用cnpm安装html2canvas插件. cnpm isntall html2canvas 2.在使用html2canvas的页面中,引入插件. import htm ...

  5. 浏览器截图方法(长截图、node截图、指定区域截图)

    1.打开需要截屏的页面,按键盘上的F2(或者Ctrl+Shift+I)打开浏览器控制台 2.Ctrl+shift+P进入搜索框,输入"screen": 这里有四种截图模式,点击需要 ...

  6. LINUX选定区域截图

    初学LINUX,记录截图命令,方便自己,方便他人. -------------------------------UBUNTU 16.04------------------------------- ...

  7. 怎么用计算机截图快捷键,电脑怎么截图截屏 电脑截图的快捷键是什么

    电脑怎么截图截屏 电脑截图的快捷键是什么 来源:www.18183.com作者:皮卡时间:2015-10-23 很多人打开电脑的时候就会习惯性的登上各类社交应用,例如QQ.阿里旺旺.微博客户端等,这些 ...

  8. 自定义ImageView系列 - 区域截图(下)

    功能要点: - 根据控件自身大小计算合适的透明正方形预览区: - 截取预览区图像并按照指定的尺寸缩放,生成Bitmap对象. 本文着重介绍上述第2个要点. 有关第一个要点的内容,请参阅上一篇文章:请点 ...

  9. Office VBA开发经典-基础入门卷 配套资源下载

    <Office VBA开发经典 基础入门卷> 刘永富 刘行 著 清华大学出版社 封面截图: 购书链接: 京东网 淘宝网 当当网 实例源代码文件: https://pan.baidu.com ...

最新文章

  1. 【Ctsc2011】幸福路径
  2. Docker 是什么?
  3. windows10mysql安装包_windows10上安装mysql8(zip包)
  4. Ettercap内网渗透
  5. 使用log4j2免费分配日志记录
  6. python io_NumPy IO
  7. MySQL 命令和内置函数
  8. c语言选择结构程序设计笔记,C语言选择结构程序设计.ppt
  9. php做上位机,开发过usb上位机驱动的大虾请看一下(附图)
  10. “物联网”中,少了这项技术,会损失多少,算过吗!
  11. 《正则表达式经典实例(第2版)》——2.18 向正则表达式中添加注释
  12. combus通讯_COM口,串行通讯端口,RS-232接口 基础知识
  13. FreeMarker常见指令的简单介绍—快速入门(二)
  14. 猫咪APP 服务器不稳定,猫咪app网速很慢(猫咪网速很差怎么解决)
  15. 【Easyx库】(1)
  16. LinkedList真的比ArrayList增删快吗?为什么?
  17. 使用树莓派实现动作捕捉、抓拍并存储照片
  18. linux ar -x64,Linux ar 命令 command not found ar 命令详解 ar 命令未找到 ar 命令安装 - CommandNotFound ⚡️ 坑否...
  19. Java中什么是JRE?什么是JRE?
  20. 股票 汇率 基金 手机号码 天气 等 常用免费接口

热门文章

  1. oracle中创建复合索引方法
  2. 修改Android app图标(Android Studio)
  3. 安卓开发必备知识体系:Java篇
  4. Linux | 可重入函数 | volatile | SIGCHLD信号
  5. 如何在Pycharm中安装 pygame?
  6. pytorch cuda
  7. Mac搭建Flink集群
  8. WPM3012-3/TR单P沟道 增强型MOS 场效应晶体管WILLSEM
  9. 深入浅出WPF——XAML的优点
  10. java多线程和锁,自用,长文