通过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)
- 【Access高效办公】统计当...(06.30)
- 【Access高效办公】用复选...(06.24)
- 根据变化的日期来自动编号的示例...(06.20)
- 【Access高效办公】按日期...(06.12)
- 合并列数据到一个文本框的示例;...(05.06)
- 通过命令按钮让Access列表...(04.24)
- 【Access高效办公】统计当...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)

学习心得
最新文章
- Access设置试用期截止日期默认...(08.15)
- Access快速开发平台--Err...(08.12)
- Deepseek资料整理神器(08.11)
- 【Access财务分析示例】按月统...(08.08)
- Access查询里使用Date()...(08.05)
- 关于Access交叉表查询生成的统...(08.02)
- ACCESS做的工作日常小工具_纸...(07.30)
- Access快速开发平台进销存教程...(07.28)
- 关于Access快速开发平台2.6...(07.23)
- 【Access交叉表查询】按百分比...(07.21)