乘客 发表于 2013-3-11 18:05

Excel高手来帮个小忙

本帖最后由 乘客 于 2013-3-11 18:09 编辑

Google无果,所以来此求解答。我想在Excel里点击某个地方(比如图0,单元格,控件,等等)打开浏览文件对话框(比如图1,要是能筛选文件类型更好),找到我要的文件后把此文件的完整路径值附给某个单元格(比如如2),请问如何实现?谢谢!

PS:我目前用单击右键,超链接选择文件可以实现,但多一步,而且能显示的字符数有限制(大约49个字符)

图0


图1


图2

一沙一世界 发表于 2013-3-11 22:26

vba

一沙一世界 发表于 2013-3-11 22:34

Sub SelectFile()
    Dim FileName As Variant
   '打开文件对话框返回的文件名,是一个全路径文件名,其值也可能是False,因此类型为Variant
    Dim sFileName As String                         '从FileName中提取的文件名
    Dim sPathName As String                         '从FileName中提取的路径名
    Dim aFile As Variant                            '数组,提取文件名sFileName时使用
    Dim ws As Worksheet                           '存储文件路径名和文件名的工作表
    Set ws = Worksheets("Sheet1")                   '设置工作表
    FileName = Application.GetOpenFilename("Excel 文件 (*.xls),*.xls")
    '调用Windows打开文件对话框
    If FileName <> False Then                     '如果未按“取消”键
      ActiveCell.Value = FileName         '保存文件名
    End If
End Sub

乘客 发表于 2013-3-11 23:53

一沙一世界 发表于 2013-3-11 22:34 static/image/common/back.gif


谢谢大侠,完全可用。

一沙一世界 发表于 2013-3-13 00:07

乘客 发表于 2013-3-11 23:53 static/image/common/back.gif
谢谢大侠,完全可用。

大侠不敢当,也是初学者。
程序根据你的要求修改了下,不过多余的变量忘记删除了。
页: [1]
查看完整版本: Excel高手来帮个小忙