word 操作,很急!!!300分 ( 积分: 300 )

  • 主题发起人 主题发起人 bjyplbx
  • 开始时间 开始时间
B

bjyplbx

Unregistered / Unconfirmed
GUEST, unregistred user!
比如word中有一行,内容如下:
名称: 地址:北京北京北京北京
我要在【名称:】后插入数据,但是【地址:北京北京北京北京】这几个字的位置不能移动,并且字数多了也不能换行,有什么办法?
比如:要这样的结果
名称:北京 地址:北京北京北京北京

这样换行不成,可能需要缩小字体
名称:北京北京北京北京北京
地址:北京北京北京北京
 
你在地址那里用艺术字就可以了。
 
这个文件是合同,不能随便改格式的
 
不用改格式的。那不是有艺术字吗?你选一个放上去,调到一样的效果即可。
 
在名称后面插入一个文本框,在文本框里写字
 
constructor TControlWord.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
try
FWordApp := GetActiveOleObject('Word.Application');
FIsOpen := True;
FWordApp.Visible := FIsOpen; //有打开的 Word ,所以设定可见,否则影响原来工作了
except
FWordApp := CreateOleObject('Word.Application');
FIsOpen := False;
FWordApp.Visible := FIsOpen; //Word 不可见
end;
end;

destructor TControlWord.Destroy;
begin
if not VarIsEmpty(FWordApp) then
begin //释放对象
if not FIsOpen then
begin
FWordApp.Quit;
end
else
begin
FWordApp := Null;
end;
end;
inherited Destroy;
end;

我不想关闭word的时候影响原来打开的word,这样写成吗?
 
按下键盘上的insert键试一下
 
**** word的不好,用trichviewedit,速度快些 大约10倍 不过只支持rtf格式,
 
我也觉得用文本框好,然后用定位符来做插入位,
个人感觉如果你真的想做成自动换行,可以用excel来做,感觉比word方便,只是换打印机要自己去设置一下模板
 
知道这行的宽度是多少个字吧,默认是40个
把这行用代码写
1 s:=format('名称:%s地址:北京北京北京北京',[名称]),先把要的东西添加进去
2 while length(s)<40 do //判断这一行的总字数是不是大于这行的总字数
begin
s:=ansireplacestr(s,'地址',' 地址');//小于就给地址前面添加一个空格
end;
end;
这样生成的就是长度等于行长度的一行字了,如果第一次添加完成后的字数已经大于行的长度就不好办了,学习怎么设置这行的字体宽度调整吧,不过那样也不好看了,更不好算这一行总共是多少个字了
 
谢谢各位,我得这个问题解决了,我在外面加了个表,边框这是成白色的,基本解决问题,发分,人人有
 
表代替了文本框的功能,一个意思,呵呵。。
怎么没见发分呢。呵呵
 
我记得我发分了,怎么没发下去呢
平分了,来者有分
 
多人接受答案了。
 
后退
顶部