返回列表 上一主題 發帖

[發問] VBA可以做到設計彈出式窗讓使用者點選檔案以匯入的功能嗎?

[發問] VBA可以做到設計彈出式窗讓使用者點選檔案以匯入的功能嗎?

請教各位前輩,目前小弟匯入.TXT檔都是要點選"資料-取得外部資料-從文字檔"(2007)來匯入,之後再進行分割。以下為部分錄製出來的內容。
QueryTables.Add(Connection:="TEXT;C:\Users\Administrator\Desktop\Excel練習\test.txt", Destination:=Range("$A$1"))
若此檔案放在別的路徑,以上code就不能用了。
請問是否能藉由VBA來實現跳出視窗讓使用者自行選擇檔案?
謝謝!!

最簡單的方式

用inputbox 的方式,讓使用者輸入
是學程式而不是要程式,是進步的基礎

TOP

本帖最後由 gary0228 於 2010-10-12 10:47 編輯

回復 2# 暗黑

嗯,謝謝暗黑前輩的回覆。
如果用inputbox的話,使用者還是需要把路徑輸入對話窗中,不怎麼方便。
希望是可以像Windows開啟舊檔的方式,跳出視窗讓使用者選擇要匯入的檔案,無論此檔案放在哪的路徑下。
謝謝!

TOP

Dim Fname As String
Fname = Application.GetOpenFilename("文字文件,*.txt")
If len(Fname)>0  Then

TOP

回復 4# oobird

謝謝oobird的回覆,原來使用GetOpenFilename方法就可以了。
感嗯!

TOP

請教高手們,如果希望在彈出式窗讓使用者同時點選多個檔案匯入
時應如何設定呢?謝謝!!

TOP

學海無涯_不恥下問

TOP

謝謝Hsieh大,請問一定要用Application.FileDialog(msoFileDialogOpen),不能用GetOpenFilename嗎?謝謝!!

TOP

回復 8# yafeii
  1. Sub nn()
  2. Dim FileToOpen
  3. FileToOpen = Application _
  4.     .GetOpenFilename("Text Files (*.txt), *.txt", , , , True)
  5. If IsArray(FileToOpen) Then
  6.     MsgBox Join(FileToOpen, Chr(10))
  7.     ElseIf FileToOpen <> False Then
  8.     MsgBox FileToOpen
  9. End If
  10. End Sub
複製代碼
學海無涯_不恥下問

TOP

謝謝Hsieh版大~~!!

TOP

        靜思自在 : 難行能行,難捨能捨,難為能為,才能昇華自我的人格。
返回列表 上一主題