学点编程-工科男的下线编程编程

程序开发记事

2015-04-02  本文已影响141人  自在牛

有相当一段时间没碰代码了,这次应朋友之邀,做了点工作,略记如下:

一、需求分析

1、朋友需求

需求还是比较明确的,就是利用电脑自带的摄像头,在Excel中调用,拍照,插入到指定位置。简称“即拍即插”。

2、方法原理

初步分析,认为理论可行,基本步骤为:

  1. 启动摄像头小窗
  2. 点击截屏
  3. 生成临时图片文件
  4. 图片文件处理
  5. 作为图片插入当前位置

二、条件准备

1、查找资料

互联网的便利性就在于不用重复发明轮子,上网上搜搜,也许就找到了答案,至少提供基础的参照,所以第一步是去找样例参考。
分别在ExcelHome搜索到问题,因为没有圆满的答案,继续找;后来 从CSDN上搜索到样例,不过下载需积分。

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!
问题是,不能总在这个文件中使用插入照片吧,要有全局性的入口,于是自定义工具栏来了:

  1. 通过“工具-自定义”对话框,新建一个工具栏
  2. 加入按钮,定义文字和图标
  3. 给这个按钮分配宏
  4. 试验运行,OK

问题继续:文件关闭了,这个工具栏按钮就不能Work了。
看来要让文件一直在后台跑。
怎么办?使用加载宏。
问题继续:全局自定义工具栏按钮无法与加载宏文件中的宏关联。
怎么办?需要写代码实现自定义工具栏按钮。

2、编写代码

VBE编程环境好久没碰,只能重头再来。这个时候系统提供的帮助就太重要了。还好,毕竟有基础,很快上路。末了发现自定义按钮的Icon没有,按钮图标怎么改?搜,查到了FaceID,为什么commandbar帮助中没有这个属性呢?


FaceID属性跑到哪里去了?

问题继续:用哪个FaceID值呢?查帮助,没有FaceID与图标的对照表。


FaceID到底张什么样?给个对照表好吗?
只好临时试验几个值,随便选一个了。

继续试验可用,还好比较顺利,终于搞定。

四、测试交付

拿着做好的加载宏文件到第二台机器上测试,一次性通过,Good!
在Excel 更高版本上可用吗?简单测试发现在Excel 2010上可用。
发给朋友测试,静候佳音。顺附使用指南:

  1. 将附件xla文件下载到本地硬盘
  2. 打开Excel 2003,点击“工具-加载宏”菜单,弹出对话框,点击右侧的“浏览”按钮,选择步骤1下载的文件,则“用摄像头拍照”加载宏添加到右侧列表中了,点击勾选中它,点击左侧确定关闭对话框
  3. 此时会出现一个“新工具”工具栏,其中有一个“插入照片”按钮
  4. 点击该按钮,进行初始化摄像头(第一次用可能要几秒钟),出现摄像头画面
  5. 单击画面,则自动生成截图,并插入到当前光标所在单元格
  6. 移动光标到其他单元格,点击摄像头画面,可继续插入截图,以此类推
  7. 关闭摄像头画面,插图完毕。
  8. 下次启动Excel后,包含“插入照片”按钮的“新工具”工具栏会自动出现,位置可任意调节。
上一篇下一篇

猜你喜欢

热点阅读