返回列表 上一主題 發帖

[發問] 需要一個 選擇Excel檔案的視窗 進行選擇 然後開啟

[發問] 需要一個 選擇Excel檔案的視窗 進行選擇 然後開啟

本帖最後由 yangjie 於 2015-4-2 22:17 編輯

請教大大
Sub openfile()
    Dim FileName As String
    Dim xlfileName As String
    Dim wb As ActiveWorkbook   
    Set wb = ActiveWorkbook
    wb.Activate
    path1 = ActiveWorkbook.Path
    ChDir path1
需要一個 選擇檔案的視窗 進行選擇    不會寫
    Title = "Select a File to Import"
    選擇FileName(2003 或 2010均可以被選)    If FileName = False Then
           MsgBox "No file was selected."
           Exit Sub
    End If
     xlfileName = Dir(FileName)
     Application.EnableEvents = False
          If IsOpen(xlfileName) Then
                Workbooks(xlfileName).Activate
               Set wb1 = Workbooks(xlfileName)
        Else
               Set wb1 = Workbooks.Open(FileName)
        End If
        wb1.Activate
    End If
    Application.EnableEvents = True
    On Error Resume Next
    wb1.Activate
end Sub

Function IsOpen(fs As String) As Boolean
    IsOpen = False
    For Each w In Windows
      If w.Caption = fs Then IsOpen = True: Exit For
    Next
End Function

求救
謝謝

回復  koo
謝謝
可否指定副檔名為 .*xls 或*.xlsx   才可選
yangjie 發表於 2015-4-2 23:29

找到了 謝謝
.Filters.Add "Excel", "*.xls; *.xlsx", 1

TOP

回復 2# koo
謝謝
可否指定副檔名為 .*xls 或*.xlsx   才可選

TOP

最近有參考到的...
  1. With Application.FileDialog(msoFileDialogOpen)
  2.     .InitialFileName = "C:\Users\koo\Desktop\新增資料夾"  '''預設開啟路徑
  3.    .AllowMultiSelect = True
  4.    .Show
  5.    For i = 1 To .SelectedItems.Count
  6.      xk = .SelectedItems(i)
  7.    Next
  8. End With
複製代碼

TOP

        靜思自在 : 唯其尊重自己的人,才更勇於縮小自己。
返回列表 上一主題