通过VBA自动截图,并保存到指定位置
时 间:2018-11-25 10:40:07
作 者:易勋 ID:35404 城市:上海
摘 要:通过VBA自动截图,并保存到指定位置
正 文:
函 数:
Option Compare Database Option Explicit Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) Enum JpMode theScreen = 0 '全屏截图 theForm = 1 '当前焦点窗口截图 End Enum Private Declare Function GetClipboardData Lib "user32" (ByVal wFormat As Long) As Long Private Declare Function CloseClipboard Lib "user32" () As Long Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long Private Declare Function OleCreatePictureIndirect Lib "olepro32.dll" (PicDesc As PicBmp, RefIID As Guid, ByVal fPictureOwnsHandle As Long, IPic As IPicture) As Long Private Const CF_BITMAP = 2 Private Type PicBmp Size As Long Type As Long hBmp As Long hPal As Long Reserved As Long End Type Private Type Guid Data1 As Long Data2 As Integer Data3 As Integer Data4(0 To 7) As Byte End Type Function ApiGetClipBmp(bScan As JpMode) As IPicture On Error Resume Next Call keybd_event(vbKeySnapshot, bScan, 0, 0) ' DoEvents Dim Pic As PicBmp, IID_IDispatch As Guid OpenClipboard 0 'OpenClipboard With IID_IDispatch .Data1 = &H20400 .Data4(0) = &HC0 .Data4(7) = &H46 End With With Pic .Size = Len(Pic) .Type = 1 .hBmp = GetClipboardData(CF_BITMAP) End With OleCreatePictureIndirect Pic, IID_IDispatch, 1, ApiGetClipBmp CloseClipboard End Function
调用方法:
SavePicture ApiGetClipBmp(theForm), CurrentProject.Path & "\" & Format(Now, "yyyymmddhhnnss") & ".bmp"
调用说明:
先调用截图函数,需要给截图函数传递截图的类型:JpMode。然后将函数的返回值使用SavePicture保存到本地位置。
附 件:
演 示:
Access软件网QQ交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- 仓库管理实战课程(5)-字段属性(03.27)
- 设备装配出入库管理系统;基于Acc...(03.24)
- 仓库管理实战课程(4)-建表操作(03.22)
- 仓库管理实战课程(3)-需求设计说...(03.19)
- 仓库管理实战课程(2)-软件背景和...(03.18)
- 仓库管理实战课程(1)-讲师介绍(03.16)
- 统计当月之前(不含当月)的记录数怎...(03.11)
- 【Access Inputbox示...(03.03)
- 用Access查询语句如何得到前3...(02.17)
- Access快速开发平台--导入导...(02.14)