摘要:前面有位兄台贴了篇文章,说的是被Ole DB玩死的故事。这让俺也有了讲述自己被玩死的经历的Idea。一来,丰富了大家的阅历,将来万一耍起来,也知道要小心别着了道。二来,也想说明coding绝非只有joy的层面,更多的是一种让人哭笑不得的状态。 俺想整的事情就是跑通Smart Tag的一个流程。您问俺什么是Samrt Tag,,,简单的说,您在word里面输入"2004",就会有一行小字跳出来,问您要不要自动将日期补齐了,变成2004-09-03,补上之后,又冒出些菜单问您要不要把日期格式转换为中文的。这种自动在office里面识别某些字串,然后给出相对应的菜单操作的技术,就称为Smart Tag。还不明白的话,麻烦您点:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sdsdk/html/sdcondevelopingsolutionsintroduction.asp。比我整的明白。 下载来SDK,安装顺利。打开C#版本的sample,一看就两文件,so明了,编译无错误,注册完毕。怎么打开Word没有看到Smart Tag装载上来。左看又看,得,还得给Office装上.Net可编程性支持扩展。好容易装上,还是出不来效果,仔细研究一遍注册文件,发现Sample带的Reg文件中的文件注册目录不对,居然少了一个中间目录"Visual C# Sample",汗,Sample不是这样写地,,赶紧修改注册表,还是不上路,无道理啊,给我郁闷的。继续查资料。在折腾Smart Documents的时候,俺总结出这样的规则,你拿MS的Sample来跑,死活是跑不通的,换套其他工具来,就跑的很欢。在Smart Document场景中,救命的tool是Vertigo公司的 Managed Smart Documents Wrapper。所以俺意识到肯定有某个工具能够解救我于水火。 Microsoft Office 2003 Smart Tag Developer Tools。这个MS自己整的工具包原本是用来测试Smart Tag表达式和查看注册的Samrt Tag库的信息的。到我这个问题上却成了一味偏方。这个工具包里面带有一个STExplorer.exe,打开来后,在左侧的Library List中选择一个library,注意到右边的信息列表里面会列出这个library适用的Office程序,Access,Word什么的。俺自己整的Sample安装上去,缺省的是不可以在Word里面运行的,也就是这里的适用程序没有列出Word。吃错什么药了,为什么不让在Word里面运行?还好点击这个适用程序列表,可以指定说俺这个library偏要在Word下跑。ok,保存更改后,发现在注册表里面这个library的对应项下面多了一个16进制的值OpusApp等于0,没有用这个工具的时候值等于2。ok,再跑,贼快。 回头换了台机器再重复一把这个过程,发现这个sample又可以直接跑了,在俺自己机器上跑不起来可能是配置环境的问题。不管怎么招,总之,慈祥地批评MS一把,Sample不可以这样写地;善良地建议一把,如果机器跑不起来Smart Tag的Sample,不妨按上面的流程调整并用工具整整。 小注:上面提到的SDK,tool在MSDN上都有得当,直接输入名称搜。之所以这里没有给出下载地址,是因为搜索还可以找出其他相关文章和信息,比直接上去就当,当完就走要来的敬业一些。  ...[阅读全文]