Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3192|回复: 4

[已解决]双击单元格打开同文件夹内相同名称的文件

[复制链接]
发表于 2012-8-17 19:05 | 显示全部楼层 |阅读模式
新建文件夹 (2).rar (97.86 KB, 下载次数: 25)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2012-8-17 19:30 | 显示全部楼层
  1. Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  2. If Target.Row > 1 And Target.Row < 20 And Target.Column = 1 Then
  3. Workbooks.Open (ThisWorkbook.Path & "" & Target.Value)
  4. End If
  5. End Sub
复制代码
在工作表“规律表”里加入以上事件代码,可以打开EXCEL文件,打开图片代码我还不会写。
回复

使用道具 举报

发表于 2012-8-17 19:51 | 显示全部楼层
  1. Sub Macro1()
  2.     Dim i%
  3.     With Sheet1
  4.         For i = 2 To Cells(Rows.Count, 1).End(3).Row
  5.             .Cells(i, 1).Hyperlinks.Delete
  6.             .Hyperlinks.Add Anchor:=Cells(i, 1), Address:=ThisWorkbook.Path & "/" & Cells(i, 1).Value, _
  7.                             TextToDisplay:=Cells(i, 1).Value
  8.         Next i
  9.     End With
  10. End Sub
复制代码
回复

使用道具 举报

发表于 2012-8-17 21:58 | 显示全部楼层    本楼为最佳答案   

  1. Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
  2.     (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
  3.     ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long   
  4. Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  5.     Dim rng
  6.     Set rng = Range("a2:a" & Range("a65536").End(3).Row)
  7.     If Not Application.Intersect(Target, rng) Is Nothing Then
  8.         If Dir(ThisWorkbook.Path & "" & Target.Value) = "" Then
  9.             MsgBox "该文件夹下没有此文件!请检查" & Chr(10) & "文件名称是否正确!", vbCritical, "错误提示"
  10.             Exit Sub
  11.         End If
  12.         If Target.Value = ThisWorkbook.Name Then
  13.             MsgBox "当前文件已经打开!", vbExclamation, " 提示"
  14.             Cancel = True
  15.             Exit Sub
  16.         End If
  17.         On Error Resume Next
  18.         If InStr(UCase(Target.Value), ".XLS") <> 0 Then
  19.             Workbooks.Open ThisWorkbook.Path & "" & Target.Value
  20.         Else
  21.             ShellExecute 0, "open", Target.Value, "", ThisWorkbook.Path & "", 5
  22.         End If
  23.         Cancel = True
  24.     End If
  25. End Sub

复制代码
代码在汇总表(在我电脑上打开EXCEL文件总是有点问题,所以加上了workbooks.open方法)


新建文件夹 (2).rar

100.46 KB, 下载次数: 39

评分

参与人数 1 +3 收起 理由
xyh2732 + 3 很给力!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2012-8-18 09:47 | 显示全部楼层
非常感谢各位的帮忙!谢谢了!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-9 02:03 , Processed in 0.281921 second(s), 16 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表