|
大家好!请教一个关于Excel文件管理的问题:
如附件是一个用Excel做文档管理的程序,当然这个程序是网络高手做的,我只是拿来使用。
K列是管理目录下的根文件(带超链接),我在Sheet 2里面加了一段程序“Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)”。
目的是鼠标双击K列,自动将超链接的文件拷贝到桌面,用来提供工作效率。
但是我发现如果K列文件名全部是英文(或带数字)的话,双击拷贝文件是有效的;如果文件名带中文,双击就变成打开该链接文体,拷贝程序失效。
就连靠近时鼠标的状态都不一样!文件名是英文(或带数字)时鼠标靠近显示为十字;如果文件名带中文的话,鼠标靠近变成手指点击标志。
请VBA高手帮忙分析一下,期待您的回复,非常感谢!
友情提示:文件下载到本地测试,需要建一个您本机的测试目录,下面需要包含纯英文名的文件和纯中文名的文件,另外VBA中红色部分需要改成您本地的路径!
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
If Intersect(Target, Columns("K")) Is Nothing Then
Exit Sub
ElseIf Target.Hyperlinks.Count = 1 Then
' H_path = Target.Hyperlinks(1).Address 'relative address, / should be replaced with \
Hpath = ThisWorkbook.Path & "\" & Target.Hyperlinks(1).Address 'ABS address
Fpath = Replace(Hpath, "/", "\") 'replace / with \
' MsgBox Fpath
yn = MsgBox(prompt:="Copy datasheet " & Target & " to DESKTOP?", Buttons:=vbYesNo + vbQuestion)
If yn = vbYes Then FileCopy Fpath, "C:\Users\JUSTIN\Desktop" & "\" & Target
End If
End Sub
|
|