柚子Nan--回归原点

Everything can be as easy as you like or as complex as you need.
posts - 233, comments - 985, trackbacks - 17, articles - 29
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

原著:
http://www.codeproject.com/dotnet/seoexceltetris.asp     By Woo Seok Seo

译者序
本来对于VSTO是什么东西并不感兴趣,忽然间在Codeproject看到一片文章,可以在Excel或者Word中写一般的C#程序,看到这句话,就一定要搞清楚是怎么回事了。原来对于VBA的东西很不感冒,所以现在已看到VB的代码就头痛,还好这次看到的是C,而且后边带着#,呵呵。VSTO可以利用Excel作为一个平台,就像WinForm一样,在上边放按钮,核选框等等控件,给用户最大的方便,同时利用了Excel,Word本身拥有的强大功能。据说,在下个竞争的时代,微软的Office产品绝对是一个利器,想想看现在有多少个企业的多少个用户在使用Office,如果这个市场可以深入下去,.....,呵呵,后边就不知道了。预感到Microsoft将借助.net的强大类库和Office所占领的市场,继续猛力的开发Office市场,可能有一个新的纪元的到来......期待中。

简介
在微软,他们正在努力使Office Word 2003 和 Excel 2003 变成一个新的开发平台。那么这句话真正的意思是什么呢?就是说不仅能够使开发人员像Windows窗体那样增加菜单和按钮等控件,而且使开发人员可以用写程序的方式利用Office2003的所有功能(特别是Word和Excel)。在微软,他们通过一个叫做微软办公系统可视化开发工具(VSTO)的技术,致力于体高生产效率和增强程序功能。在这篇文章中,我将向你展示如何写一个运行在Excel中的游戏,当然包括如何使用Excel文档。


介绍
微软发布Office2003以后,已经发布了很多关于VSTO的消息。我第一次接触VSTO是在今年1月份(Koffer注:2004年)的一个Office相关的研讨会上。在这个研讨会上,我看到了一些演示,而且大部分的演示是企业环境下的Office例子。但是,看着那些演示例子,让我想起了一个在19世纪早期很有冲击力的一个游戏,叫做俄罗斯方块Tetris。我想俄罗斯方块将会是一个不错的而且容易向用户展示如何使用VSTO的 例子。这就是为什么要写这篇文章了。

相关信息
大家都已经知道,VSTO并与Visual Studio .net 2003一同发布。这是因为VSTO只是微软办公系统的一个延伸和扩展,并不是.net平台的一个开发工具。VSTO现在并不对外公开(Koffer注:不知道是否真的?),但是你可以在MSDN上下载到。为了安装VSTO,你需要安装如下的程序:

Visual Studio .NET 2003
Microsoft Office System

而且,对于办公系统,你应该选择安装所有的组件或者选在自定义安装,然后选择支持.net可编程的选项。如果你想使你的解决方案正常工作,必须按照如下的顺序安装应用程序:

Microsoft .NET Framework 1.1
Microsoft Office Excel 2003

因为VSTO来自语言安装包,如果你不是安装的英文版的操作系统,你可能需要在你的机器上安装相关的语言包,而且我推荐你去下边这个地址获得关于VSTO一般的信息。http://msdn.microsoft.com/office/understanding/vsto/articles/default.aspx?pull=/library/en-us/odc_vsto2003_ta/html/vstointro.asp. (Koffer注:我的OS是中文的,也没有问题,可能是我安装的VSTO插件也是中文的吧:)).如果你想看一些简单的例子,你也可以在Office的官方站点获得http://msdn.microsoft.com/office/。如果你已经安装了Visual Studio .NET,你也可以从MSDN的帮助文件中获得一些帮助。但是它可能并不能提供足够的知识。我很乐意提供关于VSTO如何工作的更详细的信息,但是对于这篇文章,我主要介绍如何使用VSTO,而且引导你连接最新的信息。

让我们从Windows窗体开始
在向你展示如何写Excel Tetris之前,我先给你看看这个
俄罗斯方块的基础逻辑
使用计时器对象
操作Excel的行和列
处理事件

在我写这篇文章之前,我自己并不熟悉VSTO,因为这个,我一开始并没有用VSTO作为我的测试项目。我决定首先在Windows窗体上执行这个游戏的逻辑,然后把它应用到VSTO上,如果你以前玩过俄罗斯方块的游戏,你知道它很感性,而且非常容易控制,因此每个人都可以玩得来。因为它很简单,所有很多人都作为学习编程的开始,通过执行程序来学习。现在已经有许多可以运行的俄罗斯方块游戏供大家使用,而且都使用了不同的算法。我这篇文章中用的算法,毋庸置疑一定是最棒的,而且我可以自豪地说,我没有参考任何东西写出了每一个行代码!

对于没有玩过俄罗斯方块的人,我在此做一个简单的介绍如何玩这个游戏。(Koffer注:我不翻译这个部分了,如果你真的没有玩过,就去连众或者下载一个玩玩看,玩家的经验一定比任何文字描述都贴切,呵呵)。

文章太长了,待续吧,精彩的文章,请关注下篇

Feedback

#1楼 [楼主]   回复  引用  查看    

2004-09-24 10:39 by 柚子Nan      
我没有发表原著的图片,因为到目前为止,还不是很相关的图片,都是介绍俄罗斯方块的游戏的图片,如果你有兴趣看看,请去http://www.codeproject.com/dotnet/seoexceltetris.asp

#2楼    回复  引用  查看    

2004-09-24 11:02 by 陈叙远      
嘿嘿,我大学三年级的寒假,在家特无聊,电脑是赛扬266+64M内存的,玩不了什么大游戏,就用c++builder自己写了个俄罗斯方块,怀念ing

#3楼 [楼主]   回复  引用  查看    

2004-09-24 11:37 by 柚子Nan      
呵呵,不错啊,具体这个算法我还没有看到过,汗啊!

#4楼    回复  引用    

2005-01-25 13:38 by zb cong [未注册用户]
请问一下,再哪能下载vsto?哪怕是试用版的也成,光看到文章不少,没工具怎么学呀????

谢谢

#5楼 [楼主]   回复  引用  查看    

2005-01-25 13:59 by 柚子Nan      
to zb cong :
留下的你的Mail地址,我给你发过去
sina的除外,2.5M左右

#6楼    回复  引用    

2005-01-25 14:56 by zb cong [未注册用户]
太感谢了,找了好几天了,快急死了。。。。。

congzhebin@bpscom.cn
zhebincong@21cn.com

#7楼    回复  引用    

2005-01-25 15:13 by zb cong [未注册用户]
thank you very much!!!!

i got it!!!!!

#8楼    回复  引用    

2005-01-26 04:04 by fishnoz [未注册用户]
看大哥说的这么好我也心动 也想要个VSTO试试 我的电邮:
blue_sirz@yahoo.com.cn

#9楼    回复  引用    

2005-01-26 18:43 by parkwang [未注册用户]
能给我一个吗,俺也想学
wangpark@126.com

#10楼    回复  引用    

2005-01-26 23:29 by gassper [未注册用户]
大概两个星期前找你要过这个了
可是一直都没有收到:(
麻烦再发给我一份吧
gassper@gmail.com
谢谢,谢谢了
很想好好学学vsto呢

#11楼    回复  引用    

2005-03-03 16:40 by 小刘 [未注册用户]
麻烦再发给我一份吧
我也要。我很想学学VSTO.
kilhorse@tom.com.


#12楼    回复  引用    

2005-03-06 09:44 by doggod [未注册用户]
给我发一份行么?我找的眼睛都疼了
doggod2008@126.com

#13楼    回复  引用    

2005-04-09 09:54 by YanJieBing [未注册用户]
万分感谢!!
YanJieBing@163.com

#14楼    回复  引用    

2005-04-12 18:25 by sunenic [未注册用户]
俺也要.
sunenic@yahoo.com.cn

#15楼    回复  引用    

2005-04-13 21:42 by allenting [未注册用户]
十分感谢!!
ading_dance@163.com

#16楼    回复  引用    

2005-05-01 14:03 by zhh。dr [未注册用户]
万分感谢!
zhh.dr@163.com

#17楼    回复  引用    

2005-05-09 12:03 by tommy [未注册用户]
谢谢! tommy_hou@126.com

#18楼    回复  引用    

2005-08-31 00:29 by wbbaggio [未注册用户]
wbbaggio@163.com 谢谢!

#19楼    回复  引用    

2005-09-16 09:35 by 网友 [未注册用户]
superb9@163.com 多谢!

#20楼    回复  引用    

2005-10-21 16:55 by butter [未注册用户]
butter_163@163.com
谢谢!

#21楼    回复  引用    

2005-11-09 23:38 by doodood [未注册用户]
:D
我也想要一份学学
athlend@yahoo.com.cn
谢谢啦!

#22楼    回复  引用    

2005-12-27 10:12 by toto [未注册用户]
我也想学学
zmxc2001@tom.com
多谢!!!

#23楼    回复  引用    

2006-02-17 13:47 by Reeves [未注册用户]
想学习一下
cnhzlt@gmail.com
谢谢!

#24楼    回复  引用    

2006-02-27 13:30 by kpld [未注册用户]
给我发一个吧:kpld8888@gmail.com

#25楼    回复  引用    

2006-02-27 20:15 by djdsclhd [未注册用户]
我找了vsto2003好久了,因为急着用,给我发一个吧,万分感谢!
djdsclhd2005@yahoo.com.cn

#26楼    回复  引用    

2006-09-20 08:53 by peter[匿名] [未注册用户]
peter@capellinewyork.com

#27楼    回复  引用    

2006-09-20 08:54 by peter[匿名] [未注册用户]
刚才地址错了,更正peter.ji@capellinewyork.com

#28楼    回复  引用    

2006-10-18 10:59 by jialiangT [未注册用户]
請樓主也發份VSTO給我,非常感謝 tjl1@tom.com

#29楼    回复  引用    

2006-12-06 11:22 by 阿p [未注册用户]
楼主请给我发份vsto,非常感谢!
zj_pxl@sina.com

#30楼    回复  引用    

2007-02-04 20:34 by 锐锐 [未注册用户]
大哥我是学计算机的您能也给我发一个吗?
谢谢了
我的电邮 yngjwr520@163.com
真的太谢谢了!

#31楼    回复  引用    

2007-05-22 16:04 by me [未注册用户]
我想试试看,能否发一份给我啦?非常感谢!
maoqun0612@163.com

#32楼    回复  引用    

2007-09-16 22:15 by sfsd [未注册用户]
我也要一个
zhoushujiu@126.com

#33楼    回复  引用    

2007-09-21 14:18 by l-li [未注册用户]
请给发也发一下
abc8103@tom.com,abc8103.net@gmail.com

#34楼    回复  引用    

2007-10-15 14:23 by 赵晓通 [未注册用户]
请给发也发一下
tongxiaozhao@126.com

谢谢大哥

#35楼    回复  引用    

2007-12-12 16:28 by 夏寒 [未注册用户]
请给我也发一下。
siasb408@163.com




标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
Google站内搜索

相关文章:

相关链接: