博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[VSTO系列]二、简单的UI设计/QQ联系人导出(上)
阅读量:6037 次
发布时间:2019-06-20

本文共 1724 字,大约阅读时间需要 5 分钟。

接上一篇:

在日常的生活中,QQ已经是联系我们人际关系的一条重要纽带,就像我们的手机,手机中存在很多联系人,并且现在提供了很多软件对不同平台的手机作联系人的备份,可是对于QQ呢?除了会员以外,好像要导出联系人进行备份有点麻烦。在这里,结合我们的文章,给出一个比较“牵强的”解决方案,主要针对于非QQ会员的朋友。

当然,在这里主要还是为了介绍VSTO For Excel这门技术,也许这个例子举得不很恰当,也请大家多多包涵,毕竟条条大道通罗马……

回到今天的主题,我们还是进一步的了解VSTO为我们提供的强大功能吧。

什么是Ribbon

自Office 2007以来,Ribbon UI得到了越来越广泛的应用。

Ribbon UI的历史

Ribbon主要来自于此前的Office组件。当时由于原有的界面已经过时,并且用户抱怨经常找不到要用的功能。因此微软寻求各种方法用于代替传统的基于菜单和工具栏的界面。在进行了大量的测试之后,微软的程序员找到了如今我们熟悉的Ribbon界面。

Ribbon剖析

Ribbon的菜单和按钮主要集中在程序最上方,以tab和分类的形式展现,功能的布局很有条理。某些按钮平时是隐藏的,只有需要用时才会自动出来。此外,据微软称,Ribbon专门为1024X768的分辨率做过优化。之前的ALT+F组合键打开程序菜单的方法依然有效。

 

Ribbon jack

 

为我们的Add-in添加Ribbon——

我们看到,创建好的Add-in项目只有代码文件,要添加RibbonUI界面,则需要右键单击项目,使用“添加Windows窗体”功能进行添加,如下图:

再添加好窗体后,我们双击新添加的那个文件,即可打开UI设计界面。

哈哈,是不是很熟悉啊,对了,这就是我们的Add-in插件所使用的UI,我们可以像设计桌面程序一样去做Ribbon的设计,具体内容在这里就不赘述了,大家可以自己研究研究,比较容易上手。

开始我们的VSTO代码设计——

我们的Addin程序中,我们把逻辑代码写到那个“功能按钮”之下,主要逻辑代码如下:

 

代码
 
private
void
button1_Click(
object
sender, RibbonControlEventArgs e)
{
Excel.Worksheet activeWorksheet
=
(Excel.Worksheet)Globals.ThisAddIn.Application.ActiveSheet;
foreach
(Excel.Range rng
in
activeWorksheet.get_Range(
"
A1:A3
"
,Type.Missing))
{
MessageBox.Show(rng.Value2.ToString());
}
}

 

看了很简单吧,如果在这里你还不熟悉Range,Excel,ActiveSheet这些关键词,建议你先回到上一篇文章中,查阅一下Excel对象模型的相关内容,相信就能很快回忆起来了

 

在这里,我们的代码主要完成了一件事情,就是当用户点击那个功能按钮后,我们就显示单元格A1到A3的内容。那结果是不是如我们所说呢?在调试后,的确能够达到效果。那么,我们今天的路就走完一半了。来回顾一下:

1、  我们知道如何为Add-in项目添加RibbonUI

2、  知道了用代码获取某一区域的单元格内容

那接下来,我们就跳出技术的圈圈,看看QQ联系人这回事儿吧。

怎么导出联系人?

这是个问题,方法种类繁多,会员直接跳过……在这里我提供一个思路吧,QQ邮箱想必大家都用过,他有一个同步联系人的功能,最后还有一个导出联系人的功能,看了我是很激动啊。

经过试验,导出的这份QQ邮箱联系人的Excel文档,包含了我所有QQ联系人的邮箱号,刚好大家的邮箱号基本都是用QQ号做的账户名……

恩,到这里,这篇文章就写到这吧。暂且卖个关子(其实是工作太忙了,写不完,不好意思啊……)

下一篇文章,将会和大家一起实现那个联系人的处理功能,谢谢大家。如果平常有什么联系人导出导入的工具提供就好了,发现如果不给疼讯缴纳几个会员费,这个功能怎么就那么麻烦呢……求免费好用的工具…………

转载地址:http://fylhx.baihongyu.com/

你可能感兴趣的文章
Bootstrap系列 -- 11. 基础表单
查看>>
格拉西安《智慧书》中最有价值的23条法则
查看>>
7款经典炫酷的HTML5/jQuery动画应用示例及源码
查看>>
那些年我们一起追过的缓存写法(四)
查看>>
mssql手工注入
查看>>
zoj 3203 Light Bulb,三分之二的基本问题
查看>>
Oracle如何删除表中重复记录
查看>>
洛谷八月月赛Round1凄惨记
查看>>
Retrofit 入门学习
查看>>
【树莓派】树莓派网络配置:静态IP、无线网络、服务等
查看>>
JavaScript——双向链表实现
查看>>
抽象类和借口的区别
查看>>
nginx的location root 指令
查看>>
zDiaLog弹出层
查看>>
linux不常用但很有用的命令(持续完善)
查看>>
NFine常见错误
查看>>
zabbix报警媒介------>微信报警
查看>>
使用视图的好处
查看>>
面向开发运维的10款开源工具
查看>>
MVC ---- 增删改成 EF6
查看>>