各位大神好:
我正在编写一个程序,需要点击一个按钮,用VB打开存在电脑任意位置的某个excel,请各位大神注意,不能只打开存在某盘某文件夹的,需要是电脑任意位置都可以的。然后把每个单元格中的数据依次放入一个数组。挺紧急的,跪求各位帮忙!感激不尽

解决方案 »

  1.   

    用workbook.open语句可以打开任意位置的xls文件
    至于单元格的数据放入数组,请参考下面的例子:
    Sub test()
        Dim ww, a
        ww = Range("a1:a16")
        a = Application.WorksheetFunction.Transpose(ww)
        Debug.Print UBound(a), Join(a, "*")
    End Sub
      

  2.   


    Private Sub CommandButton1_Click()
        Dim fldr As FileDialog
        Set fldr = Application.FileDialog(msoFileDialogFilePicker)
        Dim vSItem As Variant
        With fldr
            If .Show = -1 Then
                For Each vSItem In .SelectedItems
                    With GetObject(CreateObject("Scripting.FileSystemObject").GetFileName(vSItem))
                        crr = .Sheets(1).UsedRange '把每个单元格中的数据一次性次放入一个数组
                        .Close (False)
                    End With
                Next vSItem
            Else
            End If
        End With
        Set fd = Nothing
    End Sub
      

  3.   

    好象有个ShellExecute的API吧/
      

  4.   

    电脑任意位置是什么意思,无非是文件系统能够实现的硬盘、U 盘、光盘以及网络文件吧?总不至于让程序自己随机查找打开吧?用 CommonDialog 让用户指定不行吗?
      

  5.   

    处理命令行,在excel文件上按住shift键点鼠标右键,选打开方式、选择程序、浏览、找到你的exe程序、勾选始终使用选择的程序打开这种文件、确定。
    以后只要在excel文件上双击鼠标左键,就会用你的程序打开excel文件了。