作者Allenbootung (不痛)
看板Office
标题[文件] 多个word连结同个excel
时间Sat Aug 5 20:53:17 2017
软体:excel, word
版本:2010
各位版友好,如果word要连结excel里的栏位时,最简单的方法是先复制
excel储存格,然後在word的贴上里下拉:连结并合并格式设定。
贴上後按alt+f9可以看到
{ LINK Excel.Sheet.8 "I:\\work\\00index.xls" "取代资料!R6C5" \a \f 5 \h \* MERGEFORMAT }
请问这段源码除了从excel贴上,还有其他方法吗?
直接在word里打字会变成纯文字。
原本还不知道连结并合并格式设定这个方法时,
我是在word里的字串做记号然後用vba取代。
doc1.doc
----
#strA1#
#strA3#
doc2.doc
----
#strA1#
#strA2#
由於既然记号都已经做好了,现在我想把 #strA1# 取代为
{ LINK Excel.Sheet.8 "00index.xls" "取代资料!R1C5" \a \f 5 \h \* MERGEFORMAT }
但是用vba跑过的结果是纯文字,word里没有程式码的效果。
-
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.26.236.117
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1501937604.A.7D6.html
※ 编辑: Allenbootung (114.26.236.117), 08/05/2017 21:23:17
1F:→ soyoso: 其他方式想到是ctrl+f9,新增功能变数;或於插入→文字→ 08/05 22:59
2F:→ soyoso: 快速组件→功能变数方式新增 08/05 23:00
3F:→ soyoso: 巨集方面可用fields 08/05 23:02
With myDoc.Content.Find
myWord.Visible = True
.Text = Cells(i, 2)
.Replacement.Text = Cells(i, 4)
.Forward = True
.Wrap = wdFindContinue
.MatchCase = False
.MatchWholeWord = False
.MatchByte = True
.Execute Replace:=wdReplaceAll
End With
我想是因为要取代的该是元件不是 .Replacement.Text
※ 编辑: Allenbootung (114.26.236.117), 08/07/2017 19:27:33