天天看点

word2007插件开发经验备忘2--如何操作word

对于word的操作,(msdn)上已经有了很具体很详细的解释 visual studio tools for office。

<a href="http://msdn.microsoft.com/zh-cn/library/d2tx7z6d(vs.80).aspx">http://msdn.microsoft.com/zh-cn/library/d2tx7z6d(vs.80).aspx</a>

word的操作前一定要看的东西叫做word 对象模型

word2007插件开发经验备忘2--如何操作word

application就是说这个类是站在了应用程序的高度。对应的操作就是启动word程序

操作就很容易想象了,打开word文档,新建word文档......那么在word插件开发中这个东西在哪里找呢?答案:global.thisaddin.application.........这里的global是全局类,控制全局变量....

下面就是document,就是对一个文档进行操作的类,增加段落,修改文档名称....那么document插件中这个东西在哪里找?global.thisaddin.application.document......

seletion呢,也超容易理解吧,选择的东东,就是我们平时操作有事没事就高亮的文档部分...值得提的是两点:

 1,selection不一定是连续的

 2,典型的选中的操作是.select()。比如我这个paragraph要选中,paragraph.select();

 那么这个在插件中怎么找到呢?对了,答案:global.thisaddin.application.document.selection;(别砸我...)

range,就是表示一个范围,这个有点难理解,和seletion不一样,比如我们在word里面画个表,那么我要告诉电脑,在第一行第一列的框框范围填hello,怎么表达我们的这个愿望呢:

 table.cell(1,1).range.text = "hello";

 range里面可以有selection,可以有多个paragrah.....

好了,下面贴一些东东

word2007插件开发经验备忘2--如何操作word
word2007插件开发经验备忘2--如何操作word

app = globals.thisaddin.application;

doc = globals.thisaddin.application.activedocument;

.....

page = (int)app.selection.get_information(word.wdinformation.wdactiveendpagenumber);

page_box.text = page.tostring();

....

newdoc = app.documents.add(ref templatepath,ref missing,ref missing,ref missing);

((word._application)app).quit(ref missing, ref missing, ref missing);

word2007插件开发经验备忘2--如何操作word