有相当一段时间没碰代码了,这次应朋友之邀,做了点工作,略记如下:
一、需求分析
1、朋友需求
需求还是比较明确的,就是利用电脑自带的摄像头,在Excel中调用,拍照,插入到指定位置。简称“即拍即插”。
2、方法原理
初步分析,认为理论可行,基本步骤为:
- 启动摄像头小窗
- 点击截屏
- 生成临时图片文件
- 图片文件处理
- 作为图片插入当前位置
二、条件准备
1、查找资料
互联网的便利性就在于不用重复发明轮子,上网上搜搜,也许就找到了答案,至少提供基础的参照,所以第一步是去找样例参考。
分别在ExcelHome搜索到问题,因为没有圆满的答案,继续找;后来 从CSDN上搜索到样例,不过下载需积分。
- 扫码关注微信号
- 在微信中输入“答案”获得答案
- 点击“领取奖励”的网页
- 输入答案,获得积分
- 下载样例
- 运行样例,发现没装Excel
2、配置环境
找了个Excel 2010试用版,发现不习惯,重新换Excel 2003吧。
运行案例,发现无视频,想起来摄像头好像一直有问题,难道是驱动问题?
按Fn+F6,出现视频监控信息,无视频图像,显示“摄像头被其他应用占用”。晕,于是有了下面的猜想:
a) 被谁占用,联想电脑你告诉我呀
b) 联想说微软没告诉我,我也不知道
c) 微软说我定了规范,应用程序不遵守,我也不知道被谁调用
d) 用户你就猜吧。
搜索类似问题,网上一大堆,看来是一个比较普遍性的问题,上联想网站更新驱动吧。该网站提供给了3种方法查询驱动:
联想网站驱动服务
方法1:需要机器ID,按提示拆电池找ID,哈哈,机器居然关机了(初时没反应过来),幸亏没有什么重要的东西没保存的。总算找了一个有点象的,重启电脑,输入该ID,结果不正确。看来此路不同。
看到方法3,准备按类别筛选,点“笔记本”,结果显示
:(
抱歉,您请求的页面现在无法打开!
您所访问的页面不存在于support.lenovo.com.cn网站上。 反馈给我们
可能的原因:
可能您输入的URL 地址拼写错误
您要寻找的页面或文件已被删除、过期或不再提供。
回头看方法2,发现可下载“Lenovo联想驱动管理”,一键搞定那是最好了,于是下载、安装、检测,没有发现摄像头驱动有问题或需要更新。
看来此路不通,怎么办?老办法,卸载重装。卸载现有摄像头驱动重新安装,无果;卸载Communication Utility,重新安装后,居然OK了。不知所以然。
三、开发调试
1、层层过关
环境终于搞定,开始跑案例,居然一次通过,Good!
问题是,不能总在这个文件中使用插入照片吧,要有全局性的入口,于是自定义工具栏来了:
- 通过“工具-自定义”对话框,新建一个工具栏
- 加入按钮,定义文字和图标
- 给这个按钮分配宏
- 试验运行,OK
问题继续:文件关闭了,这个工具栏按钮就不能Work了。
看来要让文件一直在后台跑。
怎么办?使用加载宏。
问题继续:全局自定义工具栏按钮无法与加载宏文件中的宏关联。
怎么办?需要写代码实现自定义工具栏按钮。
2、编写代码
VBE编程环境好久没碰,只能重头再来。这个时候系统提供的帮助就太重要了。还好,毕竟有基础,很快上路。末了发现自定义按钮的Icon没有,按钮图标怎么改?搜,查到了FaceID,为什么commandbar帮助中没有这个属性呢?
FaceID属性跑到哪里去了?
问题继续:用哪个FaceID值呢?查帮助,没有FaceID与图标的对照表。
FaceID到底张什么样?给个对照表好吗?
只好临时试验几个值,随便选一个了。
继续试验可用,还好比较顺利,终于搞定。
四、测试交付
拿着做好的加载宏文件到第二台机器上测试,一次性通过,Good!
在Excel 更高版本上可用吗?简单测试发现在Excel 2010上可用。
发给朋友测试,静候佳音。顺附使用指南:
- 将附件xla文件下载到本地硬盘
- 打开Excel 2003,点击“工具-加载宏”菜单,弹出对话框,点击右侧的“浏览”按钮,选择步骤1下载的文件,则“用摄像头拍照”加载宏添加到右侧列表中了,点击勾选中它,点击左侧确定关闭对话框
- 此时会出现一个“新工具”工具栏,其中有一个“插入照片”按钮
- 点击该按钮,进行初始化摄像头(第一次用可能要几秒钟),出现摄像头画面
- 单击画面,则自动生成截图,并插入到当前光标所在单元格
- 移动光标到其他单元格,点击摄像头画面,可继续插入截图,以此类推
- 关闭摄像头画面,插图完毕。
- 下次启动Excel后,包含“插入照片”按钮的“新工具”工具栏会自动出现,位置可任意调节。
网友评论