|
问题描述:
原始数据位于excel表中特定位置,需要在word中引用。
又有多个文件夹,需要将上述表格和文档复制进去后,修改excel中的数据。
但此时word读取的链接还是原excel的位置,及绝对引用。
求助大佬解决……已多方查询,外网、论坛、微软官方论坛等等。
目前得到的消息:
1、03版本即doc格式多人宣称可用,我实测又不行。
2、论坛守柔大佬的解决方案已经学习。后附代码。但是不能解决两个问题:首先是只能更换word中的一个连接,其次是我看代码中好像是统一替换成一个地址,但实际上word中有多个原EXCEL的单元格位置。
求助,求助!
守柔版主的代码:
'* +++++++++++++++++++++++++++++
'* Created By BANGONG@ExcelHome 2007-8-17 5:40:48
'仅测试于System: Windows NT Word: 11.0 Language: 2052
'№ 0253^The Code CopyIn [ThisDocument-ThisDocument]^'
'* -----------------------------
Option Explicit
Private Sub Document_Open()
Dim wdField As Field, wdRange As Range
Dim wdPath As String, myText As String
On Error Resume Next
With Me
wdPath = .Path
myText = wdPath & "\try.xls"
If Dir(myText, vbDirectory) = "" Then
MsgBox "Word没有找到指定的Excel工作薄,链接更新失败!", vbInformation
Exit Sub
Else
myText = "LINK Excel.Sheet.8 """ & myText & ""
myText = Replace(myText, "\", "\\")
myText = myText & """ ""清单(copy到word)!myRange"" \a \f 4 \r"
' Debug.Print myText
If .Fields.Count = 0 Then
Set wdRange = .Range(0, 0)
Set wdField = .Fields.Add(wdRange, wdFieldEmpty, myText, True)
Else
Set wdField = .Fields(1)
wdField.Code.Text = myText
End If
wdField.Update
End If
End With
End Sub
'----------------------
|
|