将摄像头拍照功能引入到word中

将摄像头拍照功能引入到word中

ID:10231964

大小:43.00 KB

页数:6页

时间:2018-06-12

将摄像头拍照功能引入到word中_第1页
将摄像头拍照功能引入到word中_第2页
将摄像头拍照功能引入到word中_第3页
将摄像头拍照功能引入到word中_第4页
将摄像头拍照功能引入到word中_第5页
资源描述:

《将摄像头拍照功能引入到word中》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、将摄像头拍照功能引入到Word中来源:chinalaohu发布时间:2009-3-217:51:15查看次数:77VisualBasicforApplications(简称VBA)作为一种标准的宏语言,是从VisualBasicforWindows发展而来的。它也是一种面向对象的高级语言。熟悉VB的人可以迅速上手。VBA的引入使得Office软件功能更加的个性化,应该说Office软件系列如Word、Excel、Powerpoint、Access等都支持VBA。VBA语言通过Office软件提供的VisualBasic编辑器里写入,以宏的形式在Office中运行

2、。VisualBasic编辑器里可以支持VBA语言书写。可以说这种语言从语法上和VB无异。但是很多VB支持的控件VBA不并支持。笔者在具体的实例设计中,发现VBA不支持的控件几乎都带有hwnd(句柄)属性。比如VB中支持的PictureBox控件带有hwnd属性。因为这些控件属于Windows系统控件,而VBA不支持Windows的系统控件。VBA支持由Form20.dll提供的ATL控件类库,当然也可以添加其他的控件。但是很多其他控件插入office环境中以后,不能正确使用,有的只能以图标的形式来体现,有的还是需要后台VBA宏代码支持。本例要实现在Word中进

3、行摄像头拍照的宏实例。设计思想是:在Word中新建任何一个文档,在插入点处,单击工具菜单下的摄像头拍照选项。均能打开摄像头捕获窗口,单击捕获按钮,获得捕获后的图片,并插入该图片到Word的插入点处。下面对具体的设计过程来详细谈一谈:首先,由于Word考虑到文档的安全性,尤其宏的安全性,故而其默认级别为高级别。这一点可以通过工具菜单下宏-安全性菜单项,打开安全性对话框就可以看到。为了保证本项目宏的正确运行,我们将宏的安全级别设为低。但读者不仅要问,万一中了宏病毒么办,这就是一个问题。我们假设你的计算机安装好杀毒软件,并保证随时更新病毒库。我想一般的读者这一点均可以

4、做到。在这样的前提之下,我们就可以放心使用宏了。于是,我们打开宏管理器,输入一个宏的名称,如Camera,单击创建按钮。这时就自动打开VisualBasic编辑器。其次,根据我们的设计思想,我们需要在工具栏中添加一个名称为摄像头拍照的菜单项。为了保证我们每次打开本宏的时候,只有这样一个菜单项,不至于出现重复的菜单项,在添加之前,先检查该项时候存在,如果存在先删除该菜单项。代码如下:DimnewitemAsCommandBarControlForEachnewitemInCommandBars("Tools").ControlsIfnewitem.Caption=

5、"摄像头拍照"Thennewitem.DeleteNextSetnewitem=CommandBars("Tools").Controls.Add(Type:=msoControlButton)Withnewitem.BeginGroup=True.Caption="摄像头拍照".OnAction="addnewpics"EndWith接下来,就要编写核心代码了。我们考虑程序的通用性和VBA自身的特点,我们将拍照程序cam.exe,实现利用VB写好。并把Cam.exe安装到Windows系统System32路径下。该程序拍照完后,在程序路径下自动生成tmp.bm

6、p文件。在VBA环境中,首先调用该cam.exe程序,并等待程序运行结束,直到收到程序运行结束以后,才将tmp.bmp文件以图片(Shape)的形式插入到Word的当前插入点处。VB写的Cam.exe核心代码如下:IfCam.SaveDIB(App.Path+"tmp.bmp")=TrueThenSetpp.Picture=LoadPicture(App.Path+"tmp.bmp")pictemp.Width=110pictemp.Height=140pictemp.PaintPicturepp.Picture,0,0,pictemp.Width,pict

7、emp.Height,(x_width-Cam.Width)/2,(y_height-Cam.Height)/2,Cam.Width,Cam.Height,vbSrcCopyKillApp.Path+"tmp.bmp"SavePicApp.Path+"tmp.bmp"'SavePic保存图片模块,具体参见源代码EndIfVBA本部分核心代码如下:获得系统system32路径:DimlstrAsStringlstr=Space(260)IfiType=1ThenGetSystemDirectorylstr,260a_GetDirectory=Left(lstr

8、,InStr(lstr,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。