VBA或者VB 6.0中,要实现EXCEL与WORD的数据交换,但是对于selection和Range这两个对象VBA或VB只认EXCEL的
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VBA或者VB 6.0中,要实现EXCEL与WORD的数据交换,但是对于selection和Range这两个对象VBA或VB只认EXCEL的相关的知识,希望对你有一定的参考价值。
VBA和VB6.0只认EXCEL当中的selection和range,哪怕你指定比如
dim wddoc as word.document
然后调用wddoc.range都不行。
请问有人碰到这个问题吗?如何解决?
如果真能解决,给50分。不少吧?
我想我的问题可能说的不太清楚,我是要把word里面文本里面的内容而不是表格里面的内容复制进excel的单元格里面。
事实上目前我已经找到两个办法解决这个问题,而且这两个方法都已经成功。关键的是我是个碰到问题非要搞个清楚而已。
拜托LZL3283037,我需要的文本是不确定的(如果确定了就不需要查询了,直接复制到EXCEL里面了,内容不确定,位置不确定,唯一确定的是上下文的内容)。另外即便文本是确定的,你用find不需要用selection吗?你能写一小段代码吗?比如我要在word里面查询“我是谁”这一段文字。
如果是直接按文本存放的格式,比如“总计:300元”样式,你要对“300”这一数据操作,那就得按文本(或字符串)的操作方式进行处理。追问
如果不是表格呢?如果是表格的话,我就不会提问了。直接用wddoc.tables(0).cells来控制了,何必用selection,range,这么麻烦?您说咧?
追答当然,那就按文本操作方式进行处理吧,首先查询,然后取值处理。与txt文件的查询处理类似。
追问你先自己做一次再说吧,OK?都跟你说了没法用selection和range对象了。你怎么操作?
追答不是表格,当然不能用selection和range对象,这时VB对WORD文档处理与txt文件一样,将整篇文章看做一个“字符串”,首先查询到所要操作的字符串,然后再处理。当然,这个“字符串”中的一些特殊符号可以做为查询条件的限定(如回车换行符)。
要果必须得这样处理,就得撇开“表格”思路,比如读取第一个回车符前的文本给变量x,然后写入excel的A1中,range(1,1)=x。然后进行第二段的操作直到完成。如果使用全文复制,然后粘贴的方法,得先处理了段落与excel单元格的对应关系,才能完成你的工作。这当然是一个思路,如果还有更好的方法,希望能看到。
似乎答非所问了。
参考技术B 还没遇到过,看高手的把 参考技术C 开什么玩笑VB/VBA worksheet_selectchange事件_参数传递
vb参数传递2种:1传值byval2传址byref 按值传递,传递其实引用象副本,传递程更改并影响原象,按址传递,传递才真原象,更改导致原引用象更改 execl VBAworksheet_selectchange事件其传递参数Target说明清楚byval即传值 Target所更改都能显现呢
参考技术A target定义象
Worksheet_SelectionChange(ByVal
Target
As
Range)
定义
range
类型类型象
于参数引用象情况改变象属性
以上是关于VBA或者VB 6.0中,要实现EXCEL与WORD的数据交换,但是对于selection和Range这两个对象VBA或VB只认EXCEL的的主要内容,如果未能解决你的问题,请参考以下文章