delphi与word之间的新探讨(200分)

  • 主题发起人 主题发起人 SBSB174
  • 开始时间 开始时间
S

SBSB174

Unregistered / Unconfirmed
GUEST, unregistred user!
question 1:
//招待以下代码后,“第二个标题并没有移到第二个制表符的位置”
//清除所有制表位
Word.Selection.ParagraphFormat.TabStops.ClearAll;
alignMent := 0;
Leader := 0;
pos := Word.Application.CentimetersToPoints(0.32);
//增加第一个制表位
Word.Selection.ParagraphFormat.TabStops.Add(pos, alignMent, Leader);
pos := Word.Application.CentimetersToPoints(14.29);
//增加第二个制表位
InsRange.ParagraphFormat.TabStops.Add(pos, alignMent, Leader);
Word.Selection.TypeText(#9 + '第一个标题' + #9 + '第二个标题');

question 2:
如果在Delphi中设定一段文字为模板中已有的样式

question 3:
关于BuiltInDocumentProperties在delphi中的用法,如果得到它的一个属性值
 
精通Delphi是我的梦想,本QQ群只用于技术交流,互通有无,有求必应,与同道者同勉!
Delphi群---2986125
 
to zuping:
你不在QQ上啊?
 
解决方法:

question 1:

StartPos:=word.selection.Start; //记录开始位置
Word.Selection.TypeText(#9 + '第一个标题' + #9 + '第二个标题');
EndPos:=word.selection.Start; //记录结束位置
InsRange.SetRange(StartPos,EndPos); //选择要设置的范围

Word.Selection.ParagraphFormat.TabStops.ClearAll;
alignMent := 0;
Leader := 0;
pos := Word.Application.CentimetersToPoints(0.32);
//增加第一个制表位
Word.Selection.ParagraphFormat.TabStops.Add(pos, alignMent, Leader);
pos := Word.Application.CentimetersToPoints(14.29);
//增加第二个制表位
InsRange.ParagraphFormat.TabStops.Add(pos, alignMent, Leader);


question 2:
参考
http://www.delphibbs.com/delphibbs/dispq.asp?lid=758532



question 3:

var
Doc: OleVariant;
...
Doc := Word.ActiveDocument;
Caption := Doc.BuiltInDocumentProperties['Template'].Value;
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
851
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部