发表评论
--引用--------------------------------------------------
韩现龙: gxgx!
--------------------------------------------------------
gxgx=冠希冠希
gxgx=恭喜恭喜
--引用--------------------------------------------------
韩现龙: gxgx!
--------------------------------------------------------
gxgx=冠希冠希
gxgx=恭喜恭喜
--------------------------------------------------------
gxgx=搞笑搞笑
呵呵,恭喜恭喜,
平均需要1~2周时间
体会尤深:-)
我想问下,什么是MVP?嘿嘿,
我知道它的中文是“微软最有价值的专家”
我想是一个称号吧?
怎样才能得到的?
#16楼 [
楼主]2008-04-03 18:22 |
@韩现龙
@xiao_p(匿名)
@任力
@生鱼片
@sban
@灵动生活
@Anytao
@且行且快活
@杨正祎(阿一)
谢谢大家的支持!
@怀沙
谢谢,有机会再出来玩啊~
@咯
你确实可以这样子想,不过如果深入思考的话,你会发觉这是微软和MVP共同创造的一个双赢局面,微软的技术和产品得到推广,而MVP在感兴趣的领域上的努力和贡献也得到肯定和支持。
@zsensi
你可以在这里找到关于MVP的详细介绍:
http://mvp.support.microsoft.com/?LN=zh-cn&x=10&y=17。
@cumt吴波
谢谢你的赏识!
@5254341
@kisskiki
看来你们还是意犹未尽啊~
其实我想说,让你多获几个MVP,你又会变成怎样呢?你只是微软的技术一个过客,由于有所谓MVP的存在,学习微软东东的人员,就要不断地去学习所谓的新东东.
同时所谓MVP出的也是一样.
#22楼 [
楼主]2008-04-03 22:31 |
@sgase
从心理学的角度来看,会说出你这类话的人,通常的原因可能是:吃不到的葡萄是酸的,一种典型的对自己得不到想要的东西时所产生的遗憾启动防卫机制;已经看破这类事情,曾经也追逐这类事情,经历过这类事情,到头来发现一切并非想象中的那样,然而付出的已经付出了,于是只留下一声叹息。我并不是说你就非得是其中一种原因,或许你有其他更加特别的原因。
从商业的角度来看,MVP只不过是微软实施产品战略的一个产物,它造就了一个势,让MVP们竞相学习新的东西并推而广之。而从个人的角度来看,你也无法否认,这个产物却实实在在地为MVP们打开了一扇资源大门,提供了一种与众不同的自我提升的可能。
没有人用枪指着你的头,强迫你要去学习新的东西,然而,当你在学习新的东西时,你可以感受到身体深处传过来的感觉,或许是兴奋,或许是无奈,这个可骗不了自己。我并不是对每个新的东西都感兴趣,但在研究我感兴趣的新东西时,我是乐在其中的,我也非常乐意和别人分享个中的乐趣。
最后一句,同一件事,如果做出不同的效果,那么很可能就是心态和感觉在作用了,找点乐趣吧,或许就在你身边!
#23楼 [
楼主]2008-04-03 22:33 |
@Anders Cui
@小灰
过奖了~
@侯垒
谢谢你的支持!
#24楼 [
楼主]2008-04-03 22:34 |
@THIN
找个周末啊,MSN上没见你?
由衷祝贺!
顺便问一下,如果要申请连任,需要在到期之前多久申请才可以?
#27楼 [
楼主]2008-04-04 08:13 |
@小新0574
你在MS也混得不错嘛,还成了资产阶级~
@木野狐(Neil Chen)
我是一月份申请连任的,据说整个评审的过程需时2个多月,如果你的MVP快要到期,你应该会收到微软的信件提醒你申请连任的。

看看,又变味了不是。 唉,唉, 唉,我讨厌网络评论

。
#29楼 [
楼主]2008-04-04 09:42 |
@李战
股票市场上有投资也有投机,但你不能说谁是谁变味后的产物。一个观点发表出来,自然会有反面的论调,这些论调可能会让你觉得很不畅快,但你也不能否认这是对大众进行澄清的一个绝好机会。问题的存在,既意味着麻烦的到来,也意味着提升的可能,区别只是你看待它的角度而已。
#31楼 [
楼主]2008-04-04 15:15 |
@李战
用设计模式的MVP解释微软的MVP,我还是头一次看到,有创意!变味的葡萄还是不要吃好了,可能会拉肚子的~
#33楼 [
楼主]2008-04-04 18:44 |
@new 维生素C.net()
那就要好好休息了,多点喝水啊~
恭喜恭喜
希望有一天自己也能站到这种高度
lz从开始学习到现在
用了多长时间啊?
有没有什么经历来分享一下啊
#36楼 [
楼主]2008-04-05 08:44 |
@SZW
谢谢!
#37楼 [
楼主]2008-04-05 09:38 |
@XO
谢谢!我最初接触.NET是02年,那时候.NET 1.0和Visual Studio .NET 2002才刚发布不久,而现在已经在用.NET 3.5和Visual Studio 2008了,每次更新都带给我不少惊喜,呵呵~
崇拜allen lee,从读你的OO的文章开始慢慢成长,现在也成为了MVPs中的一员。非常的荣幸,同时也是一种激励。希望以后有朝一日能够像你一样,保持长久的激情。
#39楼 [
楼主]2008-04-08 13:53 |
@阿不
共勉!
敢问一下楼主,我现在在做一个签章项目(WORD2007上VSTO开发的),在对WORD进行HASH获得摘要后,请问怎么把这个摘要保存进WORD文档去(要不可见的),有没有相关的API啊?能不能给个思路,谢了先
#41楼 [
楼主]2008-04-27 21:06 |
@Sunix
这个问题未曾想过,或许我们俩兵分两路,各自找找有什么办法。
你说对Word进行Hash是什么意思?
首先感谢下楼主的回复啊。
你说对Word进行Hash是什么意思?就是对WORD文档内容进行HASH运算,获得一个摘要(文件摘要),然后我想把这个摘要保存进WORD文档里面去,以便日后进行签名验证(用我的一个私钥对前面获得的摘要进行加密),现在我碰到的问题是不知道怎么把这个加密后的摘要(也可以叫签名)保存进WORD文档,我只找到了一个相关的API(ActiveDocument.Signatures).
再次感谢楼主的热情
#43楼 [
楼主]2008-04-28 11:09 |
@Sunix
听起来有点像在.NET里对程序集进行强名称签名,我对在Word里做类似的操作没有了解,不过我们不妨都去找找,然后回来再碰个头分享一下。:)
#45楼 [
楼主]2008-04-28 19:50 |
@Sunix
且慢!我好像感觉到我们的理解有分歧。你是说对Word文档里面的可见内容而不是Word文档本身进行Hash,然后把运算结果插入文档某个对用户来说不可见的地方,是这样吗?如果是这样,那我就理解错了!
嗯,对文档可见内容与文档本身进行HASH两个没什么本质的区别吧?(我是说效果是一样的。)我是要把运算结果放入不可见的地方。我最近又仔细看了下,好像涉及到OFFICE OPEN XML部分的,我正在看呢
#47楼 [
楼主]2008-04-29 10:48 |
@Sunix
表面看起来是一样的,因为从用户的角度来看实现了相同的效果,更确切的说是目的,然而他们有着一个根本的区别。如果要对文档本身进行Hash,完毕之后你会发现计算结果无从插入,因为一旦插入就会改变文档本身,从而导致Hash结果改变,想象一下你会发现一个“死循环”。但对可见内容进行Hash结果就不同了,因为此时你忽略了文档隐藏的内容,将来文档里的隐藏内容改变了也不会导致Hash结果的改变。
如果你只想对可见内容进行Hash,并且有了一个结果,你可以把这个结果储存到自定义文档属性(Custom Document Property)里,这个功能对Word 2003和Word 2007都适用。下面是示例代码:
Office.DocumentProperties properties =
(Office.DocumentProperties)Globals.ThisAddIn.Application.ActiveDocument.CustomDocumentProperties;
properties.Add(
"HashResult",
false,
Office.MsoDocProperties.msoPropertyTypeString,
hashResult,
null
);
值得注意的是,自定义文档属性的值是有长度限制的,不能超过256个字节。如果超过了,会自动截断超出部分。如果出现这种情况,你就可能要转用Custom XML来储存你的Hash结果了,这个方法适用于Word 2007。
嗯,感谢楼主的热情,这个方法我本来也想过,但是后来可能会写入多次HASH值,这样就很不好实现了。所以我最终还是决定从OPEN OFFICE XML规范来实现。再次感谢下楼主
#49楼 [
楼主]2008-04-29 13:13 |
@Sunix
如果你要多次写入Hash的值,即修改自定义属性的值,你可以声明一个变量获取Add方法的返回值,在需要的时候修改Office.DocumentProperty的Value属性,末了记得把Document的Saved属性设为false,以便Word能够提醒用户保存,或者你自行调用Save方法保存一下。
哦,谢谢楼主了啊。再问个问题啊。
我看了你写的那个探索WORD2007开发系列啊,我现在在自己的作业中加进了用RIBBON来加入插件。但是很明显的是我在其它的类中调用了Package.Open(filePath, FileMode.Open, FileAccess.ReadWrite);
其中filePath 是当前活动文档的全路径。在这里就出现错误的(*****.docx正被另一个进程所调用),因为很明显filePath文件正在被调用。不知道博主有没有什么办法可以指点一下啊。对这个WORD2007开发的相关机制不了解。
#51楼 [
楼主]2008-04-29 17:27 |
@Allen Lee
感觉有点不舒服啊,因为我有程序中,要用到OFFICE2004中的XML文件。而对它最直接的方法就是调用Package.Open,但是这个调用却又出错。楼主知道有没有什么好的方法可以读取里面的XML文件吗?
我用了你的建议,采用了Custom XML,这个在文档下面生成了几个item**.xml 有没有什么好的方法可以直接读取这些xml文档啊?(CustomXMLParts.SelectByID(id)这个是可以调用到) 但是我把这个WORD关闭了的话,再重新打开,那么有可能这个ID就不知道怎么获取了。
感觉微软的东西太庞大了,不好掌握
#53楼 [
楼主]2008-04-30 19:43 |
@Sunix
你可以把这个ID储存在自定义文档属性里,但与其这样,不如把Hash的结果直接储存在自定义文档属性里,除非你的结果超出了自定义文档属性的长度限制。
VSTO主要用于客户端的Office开发,而OOXML则主要用于服务器端的Office开发,因为服务器上一般都不会安装Office的。Custom XML主要在和Content Control进行数据绑定时使用,至于用它来存放自定义数据则是一种变通用法。如果你把所有这些东西都混起来的话,当然就会“感觉微软的东西太庞大了”。
@Allen Lee
哦。我就是把HASH结果转成BASE64保存在自定属性里的。但是我不知道怎么访问到这个item**.xml 。 我就是通过CustomXMLParts.SelectByID直接来访问我自己定义的CustomXMLPart。我没找到其它的接口可以访问item**.xml (system.io.package可以,但是这又涉及到VSTO以独占方式打开文档的)。
我现在想通过对文档的XML来进行直接操作(包括写摘要,证书,等等的。因为WORD2007最终所有的东西都是写成XML的,关系啊,部件啊。。。)
”不如把Hash的结果直接储存在自定义文档属性里,除非你的结果超出了自定义文档属性的长度限制“
-----这个长度有限制么?写到XML的值应该不会限制长度的吧?
VSTO主要用于客户端的Office开发,而OOXML则主要用于服务器端的Office开发,因为服务器上一般都不会安装Office的。Custom XML主要在和Content Control进行数据绑定时使用,至于用它来存放自定义数据则是一种变通用法。如果你把所有这些东西都混起来的话,当然就会“感觉微软的东西太庞大了”。
-------这句话真是一语惊醒梦中人。
我现在在想的是最好能够直接在VSTO中直接访问文档里面的XML文件(可以绕过独占方式的问题)还可以直接使用SIGXML来进行相关的操作啊。哦,对了,博主说的OOXML是指用system.io.package来做的吗?我老是把这个理解成那个标准了。
谢博主了
#55楼 [
楼主]2008-04-30 22:29 |
@Sunix
写到XML里的值当然没有长度限制,但Word会把XML的值解析到对象的属性里,这样就会有长度限制了,我试过用VSTO的API在自定义文档属性里储存一个很长的路径,结果发现超出的部分被截断了,而剩余部分恰好256字节 :)
OOXML确实是哪个标准,而操作的API也确实是System.IO.Package,开始糊涂啦?我在上面说的OOXML是指Office 2007的XML格式规范和操作它的相关API : P
P.S. 你终于以“博主”称呼我了~~~
咋说呢,从前我倒是觉得MVP是种不错的金字招牌,但是如微软认证一般,MVP越来越多,写几篇Excel的使用心得都能搞到这个MVP,确实如上所说,有微软推销员上岗证的错觉。从前也想搞个MVP玩玩,但是发现爱好太广泛了,微软的产品只是研究兴趣的一小部分(甚至微软的东西很大程度上不需要研究,只需要测试学习基本上就能上手,虽然是好的商业特性,但是就玩家而言少了很多乐趣),于是作罢。只要能对个人的学习沉潜有良性促进,MVP也是不错的选择。
在这个什么事情都能妖魔化,5岁小孩能“编程”的中国,难免楼上面那位大兄弟发牢骚,只要不拿这个MVP去招摇撞骗,以技术为兴趣继续钻研,就是好样的。
祝你一路走好。
好久没来了。
再问个问题啊。VSTO没有办法获得OPEN OFFICE XML的部件及关系的么?我找了好久。因为我的东西最好是能通过直接对word2007下的各个xml部件操作。
可是System.IO.Packaging 和Microsoft.Office.DocumentFormat.OpenXml都不能在VSTO下用。不知博主知不知道有什么方法来做(比如我想获取/word/document.xml的文档,就能直接进行这个文档操作啊)
#58楼 [
楼主]2008-05-07 19:41 |
@Sunix
据我所知是不能的,“部件”和“关系”是OOXML的概念,VSTO根本不懂他们是什么 :(
这里似乎成了Office开发的讨论区了,这样看来有必要在博客园社区开一个Office开发的小组了 :) 有兴趣加入哇?
哦.我也感觉很怪,找了很久了还是没找到什么solution,博主如果要开的话,可以的啊.刚好最近实验室涉及到了这一块
#61楼 [
楼主]2008-05-12 10:14 |
@Sunix
我不知道,WordOpenXML这个东西非常奇怪,每次获取都不同,即使你什么也不做,但如果把多次获取的值写到文件里,用WinDiff来比较却没有不同!
呵,到哪都能碰见挖苦之人。
看了博主的文章,很欣赏博主做事认真的态度。
我不知道用这么长的时间写一篇文章对大家来说意味着什么
-----------------------------------------------------
为了高质量的文章,我愿意等,就象等老赵,jillzhang的文章一样。。。。首页并不是博客园的全部。。。。况且我现在也不怎么喜欢看首页了
#64楼 [
楼主]
2008-07-16 08:18 |
@Yes!加菲猫
有你这份支持,我会一如既往地发布高质量文章的 ^_^