Откройте любой файл с помощью Excel Macros - PullRequest
0 голосов
/ 11 ноября 2018

Итак, у меня есть этот код для загрузки данных из файлов .csv в таблицу Excel. Я записал макросы, но как заставить пользователя выбирать пользовательские файлы каждый раз при выполнении макроса?

 Range("B11").Select
With ActiveSheet.QueryTables.Add(Connection:= _
    "TEXT;C:\Users\admin\Desktop\VAT\te\VAT_SALES_201801.csv", Destination:=Range _
    ("$B$11"))
    .Name = "VAT_SALES_201801"
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .TextFilePromptOnRefresh = False
    .TextFilePlatform = 1252
    .TextFileStartRow = 3
    .TextFileParseType = xlDelimited
    .TextFileTextQualifier = xlTextQualifierDoubleQuote
    .TextFileConsecutiveDelimiter = False
    .TextFileTabDelimiter = False
    .TextFileSemicolonDelimiter = True
    .TextFileCommaDelimiter = False
    .TextFileSpaceDelimiter = False
    .TextFileColumnDataTypes = Array(1, 1, 1, 1, 9, 1, 9, 1, 1, 1, 1, 9, 9, 9, 9, 9)
    .TextFileTrailingMinusNumbers = True
    .Refresh BackgroundQuery:=False
End With

Я не хочу, чтобы часть файла была жестко закодирована.

1 Ответ

0 голосов
/ 11 ноября 2018
        Sub Button1_Click()
            fileToOpen = Application _
                         .GetOpenFilename("csv Files (*.csv), *.csv")
            If fileToOpen <> False Then
                With ActiveSheet.QueryTables.Add(Connection:= _
            "TEXT;" & FileToOpen, Destination:=Range _
            ("$B$11"))
            .Name = "VAT_SALES_201801"
'...

'...

            End If
        End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...