点击excel单元格,执行打开某一word文档,并且定位到文档中的某一段文字(文档和表格在同一文件夹,要求)

点击excel单元格,执行打开某一word文档,并且定位到文档中的某一段文字(文档和表格在同一文件夹,要求文件夹复制到别的电脑也能实现操作)
用vb能够实现吗?能提供实现代码吗

第1个回答  2012-02-17
和前面的问题一样呀。
在单元格上按Ctrl+K,然后在弹出的对话框中选择一个文件,确定。然后点击这个单元格,就会打开刚才选择的文件了 。
工作表标签上按右键,选择查看代码,然后把下面的代码贴到打开的窗口。
至于是不是同一个文件夹的问题你不用担心,如果创建超级链接的时候就是在同一个文件夹,Excel是不会添加路径的,除非两个不在同一个文件夹,才会找不到文件,要是一直在一起,就不用担心了。
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Dim WordApp As Word.Application, Doc As Word.Document
If Trim(UCase(Right(Target.Address, 4))) <> ".DOC" Then Exit Sub
DocName = Right(Target.Address, Len(Target.Address) - InStrRev(Target.Address, "\"))
Set WordApp = GetObject(, "Word.Application")
For Each Doc In WordApp.Documents
If Doc.Name = DocName Then
Doc.Select
WordApp.Selection.MoveStart
WordApp.Selection.Find.Execute Target.TextToDisplay
Exit For
End If
Next
End Sub追问

你好,粘贴进去提示用户定义类型未定义,另外网上说的打开工具-引用-Microsoft Word 11.0 Object Library我粘贴进去后,引用是灰色的 关闭模块打开后没有Microsoft Word 11.0 Object Library只有Microsoft Word 14.0 Object Library,选择后也不能执行
你好 这个程序没定义点击哪一个单元格吧,如果我是要求点击单元格B2就打开文档.doc,在定位该怎么操作呢

追答

把这句 Dim WordApp As Word.Application, Doc As Word.Document 改成

Dim WordApp As Object, Doc As Object

或把这句删掉也可以

随便那个单元格都可以,当然要是这个工作表上的

第2个回答  2012-02-17
这个我帮朋友做过,不难的,你把文件发送过来。
327431451@qq.com

表格已经发送,代码如下,03版本已测试,这段代码在sheet1里面的,双击单元格就能定位了,如果想用快捷键运行,就在菜单栏--插入---模块,输入SUB FFF,按回车就可,然后将中间6句代码粘贴进去,回到sheet1,按ALT+F8,选项中指定一个快捷键即可:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
str1 = ThisWorkbook.Path
nROW = ActiveCell.Row
Set wd = CreateObject("word.application")
wd.Visible = True
wd.Documents.Open (str1 & "\版面排版技巧.doc") '打开一个叫<版面排版技巧>的文档
wd.Selection.Find.Execute FindText:=ActiveSheet.Cells(nROW, 2) '第二列的
End Sub本回答被提问者采纳
第3个回答  2012-02-17
建议:把WORD的那段文字,复制到EXCEL表某格的“批注”中,点击这个格,就能看到文字,看别的数据,也不影响。
第4个回答  2012-02-17
用相对路径超链接就可以打开文档,转移后可以。定位文字要用vba追问

怎么使用相对路径超链接呢,能告诉VB的代码吗

追答

超链接的路径路径不包括/ 符号,只有文件名(在同一文件夹下时),就是相对路径。

不知道你的定位条件,代码自己辛苦一下百度吧

第5个回答  2012-02-17
这个好像word和excel、实现不了,至少我实现不了,如果这样都是写网页代码 ,我搞网站的,所以在VB方面不了解
相似回答