我EXCEL中有一张表,我想当单击相应的单元格就打开硬盘上相应的CAD图纸

解决方案 »

  1.   

    Private Sub CommandButton1_Click()
        Dim f As String
        Dim i As Integer
        Dim P as String '存放文件的路径    f = Dir(p & "\*.xls") ' 换成CAD文件的扩展名,这里以Excel文件为例
        Do While f <> ""
            i = i + 1
            Sheet1.Hyperlinks.Add Sheet1.Cells(i, 1), f
            f = Dir()
        Loop
    End Sub
      

  2.   

    我是要写一个宏呀,里面没有CommandButton1_Click这个事件吧
    我要单击那个单元格就出相应的
      

  3.   

    CommandButton是从控件箱中加入的,VBA宏也就是一个过程。
      

  4.   

    '那就换个事件,比如SelectionChange,当然也可以用其它合适的事件
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     Dim f As String
        Dim i As Integer
        f = Dir(ThisWorkbook.Path & "\*.xls") '要修改路径及扩展名
        Do While f <> ""
            i = i + 1
            'Sheet1.Cells(i, 1).Value = f
            Sheet1.Hyperlinks.Add Sheet1.Cells(i, 1), f
            f = Dir()
        Loop
    End Sub
      

  5.   

    右键单击sheet1(也可以是其它sheet)的页面标签(在底部),点“查看代码”,打开VBA编辑器(或在“工具-->宏-->Visual Basic编辑器”中打开),将上面的代码拷过去,记住在dir函数中修改你的CAD文件路径,以及CAD文件的扩展名。
    忘掉宏吧!!!
      

  6.   

    SelectionChange事件表示选定的单元格发生改变就会执行,也就是随便在Sheet1中点一个单元格就会执行该事件中的过程。
      

  7.   

    ThisWorkbook.Path这个是填路径吗
    好像我的没有反应呀
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     Dim f As String
        Dim i As Integer
        f = Dir(ThisWorkbook.Path & "\租赁工作进度周报表.xlt") '要修改路径及扩展名
        Do While f <> ""
            i = i + 1
            'Sheet1.Cells(i, 1).Value = f
            Sheet1.Hyperlinks.Add Sheet1.Cells(i, 1), f
            f = Dir()
        Loop
    End Sub
      

  8.   

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     Dim f As String
        Dim i As Integer
    Dim p as string
    p="D:\myCAD\"  '假定你的AutoCad文件都放在D:\Mycad文件夹中
        f = Dir(p & "\*.dwg") 
        Do While f <> ""
            i = i + 1
            'Sheet1.Cells(i, 1).Value = f
            Sheet1.Hyperlinks.Add Sheet1.Cells(i, 1), f
            f = Dir()
        Loop
    End Sub
      

  9.   

    改正
    p="D:\myCAD"  '假定你的AutoCad文件都放在D:\Mycad文件夹中
      

  10.   

    不行呀
    不管我是在模块里写的还是在sheet1里写,就是没用
    你试了吗
      

  11.   

    看来楼主对VB或VBA还欠了解。我没有试过AutoCad文件,但我试过Excel文件,没有问题的。原理是一样的。要不在留言中留下邮箱,我发个Excel文件例子给你。
      

  12.   

    [email protected]
    这是我的邮箱
    273527547
    这是我的QQ号