0

ワークシートにインポートするセミコロン区切りのファイル (*.asc ですが、テキスト ファイルと同じように開くファイル) が 100 個以上あります。毎回ファイルを選択し、必要に応じてスクリプト内のフォルダーを更新しても問題ありません。メニューをクリックする時間を節約しようとしています。

ファイルを正常に選択できますが、.Refresh BackgroundQuery 行の後に「エラー 104 Excel は、この外部データ範囲を更新するためのテキスト ファイルが見つかりません」というメッセージが表示されます。

何かを正しく参照していませんか?

Sub Macro2input()
'
' Macro2input Macro
'
'
    Dim Start1 As Range
    'Dim SourceCells As Range
    'Dim DestinationCells As Range
    'Dim NextStart As Range
    Set Start1 = ActiveCell
    Dim Finfo As String
    Dim vFilename As Variant
    Dim fileToOpen As Variant

    rootDir = "X:\Lab Tests\13-7242\Re-run Calon\1-B"
    Finfo = "All Files (*.*), *.*"

    'Sets the default folder for selecting a file
    ChDrive "X:"
    ChDir rootDir

    Filename = Application.GetOpenFilename(Finfo, 1, "Select A File To Import")
    vFilename = rootDir & Filename

    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;" + vFilename, Destination:=Start1)
        .Name = Filename
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 932
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = True
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
ActiveCell.Offset(0, 8).Select
End Sub
4

2 に答える 2

0

に問題があると思いますDestination:=Start1.

Destination:=Range("A" & Lastrow)代わりに使用してください。

于 2016-04-07T13:41:17.230 に答える
0

今は非常に優れた VB ウィザードではありません:「vFilename = rootDir & Filename」の行で、vFilename に正しいファイル名があることを本当に確認しましたか?また、見つけてアクセスできることを確認しましたか (excel プロセス)あなたがvFilenameに持っているファイル?私が思うに、rootDir と Filename の間にバックスラッシュがないため、有効な Filepath ではありません。

于 2013-04-23T21:54:27.757 に答える