占用您一点点时间!! 关于delphi 控制 word 的书签的问题? (300分)(100分)

  • 主题发起人 主题发起人 caplin
  • 开始时间 开始时间
C

caplin

Unregistered / Unconfirmed
GUEST, unregistred user!
Word模板格式如下("[ ]"代表word书签) :

[书签内容1][书签内容2][书签内容3][书签内容4][书签内容5][书签内容6]...

文件是用书签分区域来管理的,其中书签的名称分别为 mbookmark1,mbookmark2,mbookmark3,mbookmark4,mbookmark5...

要实现的功能如下:
1。定位到某个书签,在它之后插入一个新的书签并添加相应文本,其它的书签保持不变.(即:插入一个新的区域)
2。如果要插入的书签已经存在,则更新书签中的内容。.(即:更新区域)
3。删除某个书签及书签中的内容。.(即:删除区域)

目前定位到书签的功能我已经实现,只是不知道怎么插入新的书签。
var bkName: olevariant;
begin

bkName:='mbookmark1';
do
cument1.bookmarks.item( bkName)//提取mbookmark1书签
//下面该怎么样在mbookmark1之后插入新书签,并在书签中添加相应内容????
end;



相关的操作语句:
do
cument1.bookmarks.add();
do
cument1.bookmarks.item( bookmarkName).range.text
do
cument1.bookmarks.item( bookmarkName).range.insertafter
 
对于确实能帮助我解决"书签的插入问题"的 再每人追加200! 麻烦您能多费点心!!!
 
怎么没人理我???

欢迎各位出谋划策!!
 
路过学习
 
各位女士,先生,我集团公司招聘有以下技能的人员,待遇优厚:
岗位要求:
1、需具备正直、智慧、成熟的修养,能吃苦耐劳、脚踏实地、积极坦诚、团结合作;
2、本专及以上学历,有计算机数据库管理软件开发或计算机通讯软件开发,2年以上工作经验, 具备良好的系统分析能力,及文档组织能力经验的工程技术人员;有相关经验的应届毕业生,成绩优异者;
3、掌握一门或多门软件开发工具,如Java、JSP、J2EE、EJB、C#.NET、ASP.NET等。
4、掌握一门或多门数据库,如delphi,PB, SQL SERVER,Oracle等,熟悉计算机数据库相关知识;
5、会使用delphi,PB,SQL数据库编程者优先,需具备较强的学习能力。

联系:zhangxiaowei70@163.com
 
书签我没有用过。但也可以用word的宏定位。。。定位之后直接插入
 
添加标签: word2000.=wordapplication;注
//-
olename:='temp';

word2000.bookmarks.add(olename,word2000.selection.range);
//----查询标签
if word2000.selection.bookmarks.exists('temp') then

//---定位或者取得标签,
OleWhat:=wdGoToBookmark;
OleName:='temp';
OleWhich:=emptyenum;
OleCount:=emptyenum;
Word2000.Selection.GoTo_(OleWhat,OleWhich,OleCount,OleName);
//你可以写任何东西。
 
var
j: Integer;
ItemIndex: OleVariant;
WordDocument1: TWordDocument;
WordApplication1: TWordApplication;
vBookMark: BookMark;
begin

//此处省略若干行代码。。。。
vSelection := WordApplication1.Selection;
for j := 1 to worddocument1.Bookmarks.Countdo
//在特定书签位置写值
begin

ItemIndex := j;
vBookMark := worddocument1.Bookmarks.Item(ItemIndex);
//取指定Index的书签
if LowerCase(vBookMark.Name) = 'mbookmark1' then

begin

vBookMark.Select();
vSelection.InsertAfter('书签内容1');
//书签内容1
end;

//此处省略若干行代码。。。。
end;

end;
 
真是太好了,终于有那么多人回答我了.

非常感谢上面的几位朋友,不过你们的回答还不能完全解决我的问题。

我现在的问题是:如何在两个书签之间插入新的插入新的书签??
比如说,[书签1]和[书签3]已经存在与文档中了,并且[书签1]和[书签3]之间没有多余的内容,是紧贴着的;我现在想在它们之间插入一个[书签2]并在[书签2]中添加相应文本,使文档最终变成这样 :
[书签1内容][书签2内容][书签3内容]

我如用do
cument1.bookmarks.item( mbookmark1).range.insertafter 语句的话,插入的文本实际会插到书签3中,这不是我想要的结果,我是想让插入的内容变成新的书签,插入到两者之间。

拜托各位在帮我想想算法!!
 
没人回答,高手在哪???????
 
问题解决了!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
I
回复
0
查看
805
import
I
后退
顶部