要打开的文件有word caj kdh
为什么运行时点击字段却没有反应,麻烦高手给我改一下,谢谢了!Private Sub DataGrid1_Click()
Select Case DataGrid1.Text
Case ".caj"
   retval = Shell("D:\Program Files\TTKN\CAJViewer 7.0\CAJViewer.exe d:\vb\gb\" & DataGrid1.Text & ".caj")
Case ".doc"
   retval = Shell("C:\Program Files\Microsoft Office\OFFICE11\winword.exe d:\vb\gb\" & DataGrid1.Text & ".doc")
Case ".kdh"
   retval = Shell("D:\Program Files\TTKN\CAJViewer 7.0\CAJViewer.exe d:\vb\gb\" & DataGrid1.Text & ".kdh")
End Select   
End Sub

解决方案 »

  1.   

    你把shell里的字符串拿到“运行”里试试`
      
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) 
    http://feiyun0112.cnblogs.com/
      

  2.   

    DataGrid1哪行哪列没有指定
    ******************************************************************DataGrid1.Text的值究竟是什么?
    Select Case DataGrid1.Text 
    Case ".caj" 
    d:\vb\gb\" & DataGrid1.Text & ".caj") 这两个矛盾
      

  3.   

    我不知道DataGrid1.Text的值是什么,我应该怎么改?
      

  4.   

    操作DataGrid最好使用数据集对象。
    单纯的用于显示数据库的数据,个人建议使用FLEXGRID控件代替
      

  5.   

    另外,如果DATAGRID1.TEXT是完整的文件路径,可使用该文件类型的默认打开方式打开它。Try:
    Private Sub DataGrid1_Click() 
    Shell "RUNDLL32.EXE URL.DLL,FileProtocolHandler " & Datagrid1.Text, vbMaximizedFocus '
    End Sub
      

  6.   


    你代码的逻辑显然有问题,计算 Case 选项是 DataGrid1.Text = "caj",你为什么还要打开 DataGrid1.Text & ".caj" 文件?那岂不是"caj.caj"?另外,如果你点击的不是当前格,恐怕要用 ColRowChange 事件。