1

私は VBA 言語に慣れてきたばかりで、何か助けていただければ幸いです。既存のタブを新しいファイルで更新するプログラムを作成しようとしています。これが私がこれまでに持っているものです:

Sub ImportFile()
'
' ImportFile Macro
'
' Keyboard Shortcut: Ctrl+Shift+I

    ' Clears active sheet
    Cells.Select
    Selection.ClearContents
    Range("A1").Select

    ' "Open" prompt window
    Dim aFile As String
    aFile = Application.GetOpenFilename(FileFilter:="Comma separated values files, *.csv")
    If aFile = "False" Then Exit Sub



    ' Import .csv file to active sheet
     With ActiveSheet.QueryTables.Add(Connection:= _
       "TEXT;C:\Users\jiarui.hou.THRUBIT\Desktop\thrubit\data\PS25R_175c_20110711_proc1.csv" _
        , Destination:=Range("$A$1"))
        .Name = "PS25R_175c_20110711_proc1"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 437
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = False
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = True
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _
        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
End Sub

しかし、問題は 3 番目の部分の最初の 2 行にあり、特定のファイルを指しています。しかし、私が特に選択したファイルをプログラムにインポートさせたいのです。私が求めているのは、ウィンドウにファイルを開くように促す 2 番目の部分を、現在の SPECIFIC ディレクトリ アドレスの代わりにそのディレクトリ アドレスをリンクする 3 番目の部分にリンクする方法だと思います。

4

1 に答える 1

0

連結演算子を使用して、&接続に渡す文字列を"TEXT;" & aFile

 With ActiveSheet.QueryTables.Add(Connection:= "TEXT;" & aFile, Destination:=Range("$A$1"))

また、代わりに7行目"False"に欲しいと思います。False

于 2011-07-19T14:37:27.190 に答える