100分求教

dcsstystem 2004-12-16 05:09:56
for (int i=1;i<3;i++)
{
WordDoc.OleFunction("Range").OleProcedure("Paste");
}
我想把粘贴板里的信息粘贴在WORD里.
关键是这里的Range不对,它始终是对整个range粘贴,我想要的效果是,粘贴一次完了换一行,再粘贴第二次.....
...全文
166 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
dcsstystem 2004-12-20
  • 打赏
  • 举报
回复
up
lfnred 2004-12-17
  • 打赏
  • 举报
回复
好久没用vb了,找了半天才找到,这是我在程序当中的语句,个人认为有用,呵呵。

你先在word文档中插入三个域(在“插入”选项里面)

Dim i As Integer
.
.
.
.
For i = 0 To 2

wdDoc.Fields.Item(i).Result.Text = "你要输入的内容"

Next


思路是这样,至于在CB下怎样实现你看看帮助吧。
lfnred 2004-12-17
  • 打赏
  • 举报
回复
也就是说你要实现的回车换行操作,可以转化为对不同表格“范围”的操作。

还有一种建议,不知可否,word里面有“域(field)”的概念,编程操作也可对“域”进行操作。我以前的项目就是在word版面上,事先安置几个“域”,再进行插入(insert)或者拷贝(paste)操作,应该能够实现你所说的换行操作(因为“域”在插入时,可以换行插入的)。我对cb下的word操作不是很熟,具体问题可能要看帮助了。就这么多,别见笑!
lfnred 2004-12-17
  • 打赏
  • 举报
回复
我以前用VB做过WORD操作,好像在WORD版面上面事先弄好几个表格(当然根据情况需要,如果要求页面看上去空白,表格线条可以用虚线或者白色标注),每个表格好像对应的也是"Range",你可以试一下。懂得不多,不要见笑,呵呵!
dcsstystem 2004-12-17
  • 打赏
  • 举报
回复
up
dcsstystem 2004-12-17
  • 打赏
  • 举报
回复
thanks.
help me,please
samchoy 2004-12-17
  • 打赏
  • 举报
回复
不懂,帮顶
dcsstystem 2004-12-17
  • 打赏
  • 举报
回复
?
dcsstystem 2004-12-17
  • 打赏
  • 举报
回复
????
dcsstystem 2004-12-17
  • 打赏
  • 举报
回复
谢谢各位.我已经解决这个问题了.
可是又出现了新的问题.往里粘贴的只能是BMP格式的图片,但是你知道的啦,BMP的贼大
贼大的.
这样写就可以粘贴了:
//MySelection = my_word.OlePropertyGet("Selection");
//MySelection.OleProcedure("Paste");

所以呢,我想改成插入.
我在网上看了别人讲的插入的方法,我试了一下,
Vshape=WordDoc.OlePropertyGet("Shapes");
Vshape.OleFunction("AddPicture",OpenDialog1->FileName,0,0,821,379);

说什么参数类型不对.
不知道有没有人用过这句话,怎么修改啊?
dcsstystem 2004-12-16
  • 打赏
  • 举报
回复
没有用的我用Exec(Procedure("Insert")<<"\n")换行也没有用.
应为 WordDoc.OleFunction("Range").OleProcedure("Paste");
这里的range是指整个word文件,
我不知道怎么只在光标处paste
Amour81 2004-12-16
  • 打赏
  • 举报
回复
你的RANGE没有换行的代码吧
dcsstystem 2004-12-16
  • 打赏
  • 举报
回复
诶,我还以为有人帮我解答了呢,不过还是要谢谢呢帮我up
lihongxing2002 2004-12-16
  • 打赏
  • 举报
回复
up

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧