Excel выбрать файл для загрузки

  • Список файлов
  • Работа с файлами

Функции GetFileName и GetFilePath по сути аналогичны, и предназначены для вывода диалогового окна выбора файла
(при этом можно указать стартовую папку для поиска файла, и тип/расширение выбираемого файла)

Функция GetFilenamesCollection позволяет выборать сразу несколько файлов в одной папке.

Функция GetFolderPath работает также, только служит для вывода диалогового окна выбора папки.

Function GetFolderPath(Optional ByVal Title As String = "Выберите папку", _
                       Optional ByVal InitialPath As String = "c:") As String
    ' функция выводит диалоговое окно выбора папки с заголовком Title,
    ' начиная обзор диска с папки InitialPath
    ' возвращает полный путь к выбранной папке, или пустую строку в случае отказа от выбора
    Dim PS As String: PS = Application.PathSeparator
    With Application.FileDialog(msoFileDialogFolderPicker)
        If Not Right$(InitialPath, 1) = PS Then InitialPath = InitialPath & PS
        .ButtonName = "Выбрать": .Title = Title: .InitialFileName = InitialPath
        If .Show <> -1 Then Exit Function
        GetFolderPath = .SelectedItems(1)
        If Not Right$(GetFolderPath, 1) = PS Then GetFolderPath = GetFolderPath & PS
    End With
End Function
 
Sub ПримерИспользования_GetFolderPath()
    ПутьКПапке = GetFolderPath("Заголовок окна", ThisWorkbook.Path)   ' запрашиваем имя папки
    If ПутьКПапке = "" Then Exit Sub    ' выход, если пользователь отказался от выбора папки
    MsgBox "Выбрана папка: " & ПутьКПапке, vbInformation
End Sub
Function GetFilePath(Optional ByVal Title As String = "Выберите файл для обработки", _
                     Optional ByVal InitialPath As String = "c:", _
                     Optional ByVal FilterDescription As String = "Книги Excel", _
                     Optional ByVal FilterExtention As String = "*.xls*") As String
    ' функция выводит диалоговое окно выбора файла с заголовком Title,
    ' начиная обзор диска с папки InitialPath
    ' возвращает полный путь к выбранному файлу, или пустую строку в случае отказа от выбора
    ' для фильтра можно указать описание и расширение выбираемых файлов
    On Error Resume Next
    With Application.FileDialog(msoFileDialogOpen)
        .ButtonName = "Выбрать": .Title = Title: .InitialFileName = InitialPath
        .Filters.Clear: .Filters.Add FilterDescription, FilterExtention
        If .Show <> -1 Then Exit Function
        GetFilePath = .SelectedItems(1): PS = Application.PathSeparator
    End With
End Function
 
Sub ПримерИспользования_GetFilePath()
    ИмяФайла = GetFilePath("Выберите файл Word", , "Документы Word", "*.doc") ' запрашиваем имя файла
    If ИмяФайла = "" Then Exit Sub    ' выход, если пользователь отказался от выбора файла
    MsgBox "Выбран файл: " & ИмяФайла, vbInformation
End Sub

Ниже представлены функции для вызова диалоговых окон выбора файлов и папок средствами VBA.

Функции GetFileName и GetFilePath по сути аналогичны, и предназначены для вывода диалогового окна выбора файла
(при этом можно указать стартовую папку для поиска файла, и типрасширение выбираемого файла)

Функция GetFilenamesCollection позволяет выборать сразу несколько файлов в одной папке.

Функция GetFolderPath работает аналогично, только служит для вывода диалогового окна выбора папки.

Function GetFileName(Optional ByVal Title As String = "Выберите файл для обработки", _
                     Optional ByVal InitialPath, _
                     Optional ByVal MyFilter As String = "Книги Excel (*.xls*),") As String
    ' функция выводит диалоговое окно выбора папки с заголовком Title,
    ' начиная обзор диска с папки InitialPath
    ' возвращает полный путь к выбранной папке, или пустую строку в случае отказа от выбора
    If Not IsMissing(InitialPath) Then
        On Error Resume Next: ChDrive Left(InitialPath, 1)
        ChDir InitialPath    ' выбираем стартовую папку
    End If
    res = Application.GetOpenFilename(MyFilter, , Title, "Открыть")  ' вывод диалогового окна
    GetFileName = IIf(VarType(res) = vbBoolean, "", res)    ' пустая строка при отказе от выбора
End Function
 
Sub ПримерИспользования_GetFileName()
    ИмяФайла = GetFileName("Заголовок окна", ThisWorkbook.Path)   ' запрашиваем имя файла
    ' ===================== другие варианты вызова функции =====================
    ' текстовые файлы, стартовая папка не указана
    '       ИмяФайла = GetFileName("Выберите текстовый файл", , "Текстовые файлы (*.txt),")
    ' файлы любого типа из папки "C:Windows"
    '       ИмяФайла = GetFileName(, "C:Windows", "")
    ' ==========================================================================

    If ИмяФайла = "" Then Exit Sub    ' выход, если пользователь отказался от выбора файла
    MsgBox "Выбран файл: " & ИмяФайла, vbInformation
End Sub
Function GetFolderPath(Optional ByVal Title As String = "Выберите папку", _
                       Optional ByVal InitialPath As String = "c:") As String
    ' функция выводит диалоговое окно выбора папки с заголовком Title,
    ' начиная обзор диска с папки InitialPath
    ' возвращает полный путь к выбранной папке, или пустую строку в случае отказа от выбора
    Dim PS As String: PS = Application.PathSeparator
    With Application.FileDialog(msoFileDialogFolderPicker)
        If Not Right$(InitialPath, 1) = PS Then InitialPath = InitialPath & PS
        .ButtonName = "Выбрать": .Title = Title: .InitialFileName = InitialPath
        If .Show <> -1 Then Exit Function
        GetFolderPath = .SelectedItems(1)
        If Not Right$(GetFolderPath, 1) = PS Then GetFolderPath = GetFolderPath & PS
    End With
End Function
 
Sub ПримерИспользования_GetFolderPath()
    ПутьКПапке = GetFolderPath("Заголовок окна", ThisWorkbook.Path)   ' запрашиваем имя папки
    ' ===================== другие варианты вызова функции =====================
    ' стартовая папка не указана, заголовок окна по умолчанию
    '       ПутьКПапке = GetFolderPath
    ' обзор папок начинается с папки "Рабочий стол"
    '       СтартоваяПапка = CreateObject("WScript.Shell").SpecialFolders("Desktop")
    '       ПутьКПапке = GetFolderPath("Выберите папку на рабочем столе", СтартоваяПапка)
    ' ==========================================================================

    If ПутьКПапке = "" Then Exit Sub    ' выход, если пользователь отказался от выбора папки
    MsgBox "Выбрана папка: " & ПутьКПапке, vbInformation
End Sub
Function GetFilePath(Optional ByVal Title As String = "Выберите файл для обработки", _
                     Optional ByVal InitialPath As String = "c:", _
                     Optional ByVal FilterDescription As String = "Книги Excel", _
                     Optional ByVal FilterExtention As String = "*.xls*") As String
    ' функция выводит диалоговое окно выбора файла с заголовком Title,
    ' начиная обзор диска с папки InitialPath
    ' возвращает полный путь к выбранному файлу, или пустую строку в случае отказа от выбора
    ' для фильтра можно указать описание и расширение выбираемых файлов
    On Error Resume Next
    With Application.FileDialog(msoFileDialogOpen)
        .ButtonName = "Выбрать": .Title = Title: .InitialFileName = InitialPath
        .Filters.Clear: .Filters.Add FilterDescription, FilterExtention
        If .Show <> -1 Then Exit Function
        GetFilePath = .SelectedItems(1): PS = Application.PathSeparator
    End With
End Function
 
Sub ПримерИспользования_GetFilePath()
     ИмяФайла = GetFilePath("Выберите файл Word", , "Документы Word", "*.doc") ' запрашиваем имя файла
    ' ===================== другие варианты вызова функции =====================
    ' текстовые файлы, стартовая папка не указана
    '       ИмяФайла = GetFilePath("Выберите текстовый файл", , "Текстовые файлы", "*.txt")
    ' файлы любого типа из папки "C:Windows"
    '       ИмяФайла = GetFilePath(, "C:Windows", , "*")
    ' ==========================================================================

    If ИмяФайла = "" Then Exit Sub    ' выход, если пользователь отказался от выбора файла
    MsgBox "Выбран файл: " & ИмяФайла, vbInformation
End Sub
Function GetFilenamesCollection(Optional ByVal Title As String = "Выберите файлы для обработки", _
                             Optional ByVal InitialPath As String = "c:") As FileDialogSelectedItems
    ' функция выводит диалоговое окно выбора нескольких файлов с заголовком Title,
    ' начиная обзор диска с папки InitialPath
    ' возвращает массив путей к выбранным файлам, или пустую строку в случае отказа от выбора
    With Application.FileDialog(3) ' msoFileDialogFilePicker
        .ButtonName = "Выбрать": .Title = Title: .InitialFileName = InitialPath
        If .Show <> -1 Then Exit Function
        Set GetFilenamesCollection = .SelectedItems
    End With
End Function
 
Sub ПримерИспользования_GetFilenamesCollection()
    Dim СписокФайлов As FileDialogSelectedItems
    Set СписокФайлов = GetFilenamesCollection("Заголовок окна", ThisWorkbook.Path)   ' выводим окно выбора
    ' ===================== другие варианты вызова функции =====================
    ' стартовая папка не указана, заголовок окна по умолчанию
           Set СписокФайлов = GetFilenamesCollection
    ' обзор файлов начинается с папки "Рабочий стол"
           СтартоваяПапка = CreateObject("WScript.Shell").SpecialFolders("Desktop")
           Set СписокФайлов = GetFilenamesCollection("Выберите файлы на рабочем столе", СтартоваяПапка)
    ' ==========================================================================

    If СписокФайлов Is Nothing Then Exit Sub  ' выход, если пользователь отказался от выбора файлов
    For Each File In СписокФайлов
        Debug.Print File
    Next
End Sub

Ещё один вариант кода (который я использую) для выбора файла
Его отличие — функция запоминает папку, из которой последний раз выбирался файл,
и при повторном запуске диалогового окна выбора файла,
обзор папок будет начат с той папки, откуда последний раз был взят файл.

Sub AttachFile_test()    ' пример использования
    Filename$ = GetFilePath()
    If Filename$ = "" Then Exit Sub
    MsgBox "Выбран файл: " & Filename$
End Sub
 
Function GetFilePath(Optional ByVal Title As String = "Выберите файл для обработки", _
                     Optional ByVal InitialPath As String = "c:", _
                     Optional ByVal FilterDescription As String = "Файлы счетов", _
                     Optional ByVal FilterExtention As String = "*.*") As String
    On Error Resume Next
    With Application.FileDialog(msoFileDialogOpen)
        .ButtonName = "Выбрать": .Title = Title:
        .InitialFileName = GetSetting(Application.Name, "GetFilePath", "folder", InitialPath)
        .Filters.Clear: .Filters.Add FilterDescription, FilterExtention
        If .Show <> -1 Then Exit Function
        GetFilePath = .SelectedItems(1)
        folder$ = Left(.SelectedItems(1), InStrRev(.SelectedItems(1), ""))
        SaveSetting Application.Name, "GetFilePath", "folder", folder$
    End With
End Function
  • 214352 просмотра

Не получается применить макрос? Не удаётся изменить код под свои нужды?

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

Хитрости »

17 Июнь 2015              147331 просмотров


Диалоговое окно выбора файлов/папки

Часто при работе с файлами и написании кодов начинающие «кодить» в VBA сталкиваются с необходимостью предоставить пользователю возможность самостоятельного выбора файлов: либо всех в указанной папке, либо каких-то отдельных. Конечно, можно жестко в коде написать нечто вроде: «C:DocumentsFilesКнига1.xls», но это требует не только наличия именно диска С, но и полной структуры папок и имен файлов. Это очень неудобно в большинстве случаев и куда чаще необходимо дать пользователю возможность самому указать имя файла. Записывать в ячейку листа полный путь и имя весьма непрактично и часто для неискушенного пользователя вызывает только «отторжение» от программы. В статье Просмотреть все файлы в папке я приводил пример кода, который просматривает все файлы в указанной папке и папка при этом выбирается сами пользователем из привычного по работе с Windows диалога. Там используется диалог выбора папок. Именно на этом я и хочу сделать акцент в этой статье — рассказать про некоторые способы вызова подобных диалогов для выбора файлов или папки. Так же обращу внимание на некоторые вещи, которые следует учитывать при использовании того или иного типа диалогов.

  • Диалог выбора файлов Applicaton.GetOpenFileName
  • Диалог выбора файлов FileDialog(msoFileDialogFilePicker)
  • Диалог выбора папки FileDialog(msoFileDialogFolderPicker)
  • Диалог выбора папки через Shell
  • Диалог сохранения файла SaveAs

Если рассматривать наиболее простые варианты, то их два. Выбрать файлы можно через Applicaton.GetOpenFileName или через Application.FileDialog. Отличия в них есть, но я заострю внимание на главном: GetOpenFileName будет работать в любой версии Excel, а класс FileDialog только начиная с Excel 2002, т.к. именно в этой версии впервые был использован класс FileDialog. Это стоит учитывать при разработке.

Диалог выбора файлов Applicaton.GetOpenFileName

Параметры:

Application.GetOpenFilename([FileFilter], [FilterIndex], [Title], [ButtonText], [MultiSelect])
По сути я часто использую именно его, т.к. это универсальный метод и в нем есть все, что лично мне необходимо: выбрать определенные типы файлов позволяет, возможность запрета выбора нескольких файлов сразу есть.

FileFilter Указываются типы файлов, которые будут отображаться в диалоговом окне выбора. Например, если указать «Excel files(*.xls*),*.xls*», то возможно будет выбрать только файлы Excel(с расширением, начинающимся на .xls — .xls, .xlsx, .xlsb, .xlsm и т.д.). Если указать «Text files(*.txt),*.txt», то можно будет выбрать только текстовые файлы с расширением .txt. Так же можно указать более одного типа расширений: «Excel files(*.xls*),*.xls*,Text files(*.txt),*.txt». По умолчанию тип файлов в диалоговом окне будет принадлежать первому указанному типу файлов(*.xls*). Но можно указать любой из перечисленных типов при помощи аргумента FilterIndex. Так же можно указать выбор любых типов файлов: «All files(*.*),*.*»
FilterIndex Если аргументом FileFilter указано более одного типа файлов(расширений), то этот аргумент указывает какой именно тип использовать. Например, следующая строка по умолчанию назначает выбор текстовых типов файлов:

avFiles = Application.GetOpenFilename _
    ("Excel files(*.xls*),*.xls*,Text files(*.txt),*.txt", 2, _
     "Выбрать текстовые или Excel файлы", , True)

Атрибут FilterIndex

Title Текст заголовка диалогового окна. Если указать «Выбрать текстовые или Excel файлы», то именно этот текст будет в заголовке. Если не указывать, то будет текст по умолчанию(нечто вроде «Открытие документа»)
ButtonText Данный аргумент доступен только для ПК под управлением Macintosh(MAC). Назначает текст для кнопки диалогового окна Открыть. Для владельцев Windows этот текст всегда будет «Открыть»
MultiSelect Указывает, может быть выбран только один файл или несколько:

  • True — можно будет выбрать более одного файла для обработки(через Shift или Ctrl или простым выделением мышью внутри окна)
  • False — можно будет выбрать только один файл

По умолчанию принимает значение False
Выбора только одного файла:

avFiles = Application.GetOpenFilename _
    ("Excel files(*.xls*),*.xls*,Text files(*.txt),*.txt", 2, _
     "Выбрать текстовые или Excel файлы", , False)

Выбор нескольких файлов:

avFiles = Application.GetOpenFilename _
    ("Excel files(*.xls*),*.xls*,Text files(*.txt),*.txt", 2, _
     "Выбрать текстовые или Excel файлы", , True)

Пример применения диалога Application.GetOpenFilename

Sub ShowGetOpenDialod()
    Dim avFiles
    'по умолчанию к выбору доступны файлы Excel(xls,xlsx,xlsm,xlsb)
    avFiles = Application.GetOpenFilename _
                ("Excel files(*.xls*),*.xls*", 1, "Выбрать Excel файлы", , False)
    If VarType(avFiles) = vbBoolean Then
        'была нажата кнопка отмены - выход из процедуры
        Exit Sub
    End If
    'avFiles - примет тип String
    MsgBox "Выбран файл: '" & avFiles & "'", vbInformation, "www.excel-vba.ru"
End Sub

В данном случае совершенно неважно указан ли выбор только одного файла или нескольких. Может поменяться только способ обработки полученного результата. Если параметр MultiSelect установлен в False, то переменная avFiles примет тип String, т.е. это будет одна строка. Предположим, что была выбрана книга Excel. Тогда открыть её можно будет как обычно это делается при использовании переменной:

Если же параметр MultiSelect установлен в True, то переменная avFiles примет тип Array — массив строк, в котором будут записаны все пути и имена выбранных файлов. Обрабатывать в таком случае следует циклом:

'avFiles - примет тип Array
    For Each x In avFiles
        Workbooks.Open x
    Next

В приложенном к статье файле приведены две процедуры с использованием этого типа диалога и обработкой файлов с параметром MultiSelect, установленным в True и False.


 
Диалог выбора файлов FileDialog(msoFileDialogFilePicker)

У этого диалога тоже есть параметры и они очень схожи с таковыми в Application.GetOpenFilename:
Ниже в статье примера кода с применением всех описанных параметров

AllowMultiSelect Указывает, может быть выбран только один файл или несколько:

  • True — можно будет выбрать более одного файла для обработки(через Shift или Ctrl или простым выделением мышью внутри окна)
  • False — можно будет выбрать только один файл
Title Текст заголовка диалогового окна. Если указать «Выбрать текстовые или Excel файлы», то именно этот текст будет в заголовке. Если не указывать, то будет текст по умолчанию(нечто вроде «Открытие документа»)
Filters Перечисляются типы файлов, которые будут отображаться в диалоговом окне выбора. Для добавления типа файла(расширения) необходимо использовать метод Add:
.Filters.Add([Description],[Extensions],[Position])

  • Description — описание типа файлов. Произвольный текст, указывающий тип файлов. Например «Рисунки» или «Файлы Excel».
  • Extensions — расширения файлов. Непосредственно перед расширением обязательно должна стоять звездочка и точка: *.xls. Иначе диалог выдаст ошибку. Для перечисления нескольких расширений используется разделитель в виде точки-с-запятой: «*.xls*;*.xla*» или «*.xls;*.xlsx;*.xlsm». Звездочка после расширения заменяет любой набор символов или ни одного. Например, при указании «*.xls*» будет возможным выбрать любые файлы, расширение которых начинается на .xls: .xls,.xlsx,.xlsm,.xlsb и т.д., но нельзя будет выбрать файлы с расширением .xla,.xlam и тем более .doc или .txt. Если необходимо осуществить выбор любого типа файлов, то необходимо просто очистить фильтр и не добавлять никакие типы: .Filters.Clear
  • Position — указывает, каким по счету в списке будет тип файлов. На рисунке ниже первым идет тип «Excel files», а вторым «Text files»:
    Атрибут FilterIndex
  • Тип файлов, который будет показан по умолчанию при вызове диалога определяется свойством FilterIndex диалога FileDialog.
    Важный момент: диалог, вызванный в одном сеансе Excel сохраняет добавленные ранее типы файлов. Поэтому перед назначением новых типов необходимо выполнить очистку фильтра:
    .Filters.Clear

Каждый новый тип файлов добавляется новым Add:

.Filters.Add "Excel files", "*.xls*;*.xla*", 1 'добавляем возможность выбора файлов Excel
.Filters.Add "Text files", "*.txt", 2 'добавляем возможность выбора текстовых файлов
FilterIndex Назначает тип файлов, который будет выбран по умолчанию из всех перечисленных в коллекции Filters при вызове диалога
InitialFileName Этим параметром можно задать начальную папку, на которой будет открыт диалог:

.InitialFileName = "С:Temp"

Если при этом еще добавить имя файла, то в поле диалога Имя файла будет так же отображено это имя:

.InitialFileName = "С:TempКнига1.xlsx"

Я лично не рекомендую указывать имя файла, т.к. после показа диалога этот файл автоматически будет выбран, что не всегда бывает правильным. Но все зависит от задач. Если пользователь не выберет самостоятельно ни одного файла, то ответом диалога будет именно файл с указанным именем(Книга1.xlsx). Если такого файла не окажется в папке, то диалог выдаст предупреждение, что такого файла нет.

InitialView Данный параметр определяет внешний вид и структуру окна диалога. Доступно 9 вариантов:

  • msoFileDialogViewDetails
  • msoFileDialogViewLargeIcons
  • msoFileDialogViewList
  • msoFileDialogViewPreview
  • msoFileDialogViewProperties
  • msoFileDialogViewSmallIcons
  • msoFileDialogViewThumbnail
  • msoFileDialogViewTiles
  • msoFileDialogViewWebView

При использовании данного параметра следует учитывать, что на разных операционных системах могут быть доступны не все варианты. Поэтому прежде чем использовать лучше убедиться, что на конечных ПК поддерживается указанный тип. В принципе ничего страшного не произойдет — будет просто показано окно с видом по умолчанию. Но куда правильнее в разработке придерживаться однотипного вида на всех ПК.

SelectedItems Возвращает коллекцию выбранных файлов. В отличии от Application.GetOpenFilename всегда возвращается массив строк, поэтому можно всегда использовать цикл для открытия файлов, даже если параметр AllowMultiSelect установлен в False:

For Each x In .SelectedItems
    Workbooks.Open x
Next

Так же можно отбирать только отдельные файлы по индексам или организовать цикл иначе:

For lf = 1 to .SelectedItems.Count
    x = .SelectedItems(lf)
    Workbooks.Open x
Next

Нумерация строк в SelectedItems всегда начинается с 1

Show Пожалуй, самый важный метод в диалоге — отвечает за показ диалога. При этом метод Show возвращает ответ в виде целого числа:

  • -1 — выбор файлов был сделан и нажата кнопка Открыть
  • 0 — была нажата кнопка отмены

Это можно(точнее нужно!) использовать, чтобы не продолжать выполнение кода, если нажата кнопка Отмены:

If .Show = 0 Then Exit Sub 'была нажата кнопка отмены

Пример вызова диалога выбора файлов:

Sub ShowFileDialog()
    Dim oFD As FileDialog
    Dim x, lf As Long
    'назначаем переменной ссылку на экземпляр диалога
    Set oFD = Application.FileDialog(msoFileDialogFilePicker)
    With oFD 'используем короткое обращение к объекту
    'так же можно без oFD
    'With Application.FileDialog(msoFileDialogFilePicker)
        .AllowMultiSelect = False
        .Title = "Выбрать файлы отчетов" 'заголовок окна диалога
        .Filters.Clear 'очищаем установленные ранее типы файлов
        .Filters.Add "Excel files", "*.xls*;*.xla*", 1 'устанавливаем возможность выбора только файлов Excel
        .Filters.Add "Text files", "*.txt", 2 'добавляем возможность выбора текстовых файлов
        .FilterIndex = 2 'устанавливаем тип файлов по умолчанию - Text files(Текстовые файлы)
        .InitialFileName = "С:TempКнига1.xlsx" 'назначаем папку отображения и имя файла по умолчанию
        .InitialView = msoFileDialogViewDetails 'вид диалогового окна(доступно 9 вариантов)
        If .Show = 0 Then Exit Sub 'показывает диалог
        'цикл по коллекции выбранных в диалоге файлов
        For lf = 1 To .SelectedItems.Count
            x = .SelectedItems(lf) 'считываем полный путь к файлу
            Workbooks.Open x 'открытие книги
            'можно также без х
            'Workbooks.Open .SelectedItems(lf)
        Next
    End With
End Sub

 
Диалог выбора папки

Диалог выбора папки необходим в случаях, когда файлов в папке много и обработать нужно все эти файлы. Пример такой обработки я уже выкладывал в статье Просмотреть все файлы в папке. Здесь проще всего использовать появившийся в 2002 Excel диалог Application.FileDialog. Его параметры практически такие же, как у Application.FileDialog(msoFileDialogFilePicker) только их меньше доступно для применения:

Title Текст заголовка диалогового окна. Если указать «Выбрать папку с отчетами», то именно этот текст будет в заголовке. Если не указывать, то будет текст по умолчанию(нечто вроде «Открыть папку»)
InitialFileName Этим параметром можно задать начальную папку, на которой будет открыт диалог:

.InitialFileName = "С:Temp"
InitialView Данный параметр определяет внешний вид и структуру окна диалога. Доступно 9 вариантов:

  • msoFileDialogViewDetails
  • msoFileDialogViewLargeIcons
  • msoFileDialogViewList
  • msoFileDialogViewPreview
  • msoFileDialogViewProperties
  • msoFileDialogViewSmallIcons
  • msoFileDialogViewThumbnail
  • msoFileDialogViewTiles
  • msoFileDialogViewWebView

При использовании данного параметра следует учитывать, что на разных операционных системах могут быть доступны не все варианты. Поэтому прежде чем использовать лучше убедиться, что на конечных ПК поддерживается указанный тип. В принципе ничего страшного не произойдет — будет просто показано окно с видом по умолчанию. Но куда правильнее в разработке придерживаться однотипного вида на всех ПК.

SelectedItems Возвращает коллекцию с одним элементом, в котором содержится путь к выбранной папке. Нумерация строк в SelectedItems всегда начинается с 1, но т.к. выбор нескольких папок невозможен, то всегда указывается 1: x = .SelectedItems(1)
ButtonName Назначает текст кнопки, которой подтверждается выбор папки. Может содержать не более 51 знака(чего как правило достаточно).
Show Метод, который вызывает показ диалога с выбранными параметрами. Возвращает ответ в виде целого числа:

  • -1 — папка выбрана и нажата кнопка Открыть
  • 0 — была нажата кнопка отмены

Это можно(точнее нужно!) использовать, чтобы не продолжать выполнение кода, если нажата кнопка Отмены:

If .Show = 0 Then Exit Sub 'была нажата кнопка отмены

Пример вызова диалога выбора папки:

Sub ShowFolderDialog()
    Dim oFD As FileDialog
    Dim x, lf As Long
    'назначаем переменной ссылку на экземпляр диалога
    Set oFD = Application.FileDialog(msoFileDialogFolderPicker)
    With oFD 'используем короткое обращение к объекту
    'так же можно без oFD
    'With Application.FileDialog(msoFileDialogFolderPicker)
        .Title = "Выбрать папку с отчетами" '"заголовок окна диалога
        .ButtonName = "Выбрать папку"
        .Filters.Clear 'очищаем установленные ранее типы файлов
        .InitialFileName = "C:Temp" '"назначаем первую папку отображения
        .InitialView = msoFileDialogViewLargeIcons 'вид диалогового окна(доступно 9 вариантов)
        If .Show = 0 Then Exit Sub 'показывает диалог
        'цикл по коллекции выбранных в диалоге файлов
        x = .SelectedItems(1) 'считываем путь к папке
        MsgBox "Выбрана папка: '" & x & "'", vbInformation, "www.excel-vba.ru"
    End With
End Sub

 
Диалог выбора папки через Shell

Диалог Application.FileDialog(msoFileDialogFolderPicker) всем хорош и удобен, кроме одного: как я уже упоминал, он стал доступен из VBA только начиная с 2002 Excel. Плюс, описанные выше диалоги не работают в Outlook — он просто лишен хоть какой-либо реализации выбора папок или файлов. Поэтому дополню статью еще одним вариантом показа диалога выбора папки — с помощью объекта Shell. Этот вариант выбора папки будет работать и в Outlook и в любом другом приложении.

Shell.BrowseForFolder([Hwnd], [sTitle], [iOptions], [vRootFolder])

Hwnd Дескриптор окна, к которому будет относится диалог. Как правило указывается 0
sTitle Поясняющий текст, который будет отображен в диалоге. Подобие заголовка окна. Может быть любым текстом, например «Выбрать папку с отчетами»
iOptions Дополнительные параметры для диалога. Рекомендуется использовать 0. Но можно попробовать и пару других вариантов. Например, если указать 20, то в диалоговом окне появится дополнительное текстовое поле, в котором будет отображено имя выбранной папки.
vRootFolder Аналогично InitialFileName в рассмотренных выше диалогах. Задает начальную папку, на которой диалог будет открыт после запуска.

Диалог выбора папки - Shell
Пример вызова диалога выбора папки через Shell:

Sub GetFolderDialog_Shell()
    On Error Resume Next
    Dim objShellApp As Object, objFolder As Object, ulFlags
    Dim x As String
    Set objShellApp = CreateObject("Shell.Application")
    'ulFlags - числовой код, определяющий вид отображаемого окна и некоторые параметры
    '    ulFlags = 0     - наиболее часто применяемый. Лучше использовать всегда именно 0
    '    ulFlags = 1     - не отображать Корзину
    '    ulFlags = 2     - не включать сетевые папки
    '    ulFlags = 20    - добавляется тестовое поле с отображением имени выбранной папки
    '    ulFlags = 16    - отображать EditBox для ввода полного пути с клавиатуры
    '    ulFlags = 16384 - можно так же выбирать файлы.
    'Некоторые константы можно комбинировать. Например если указать 1 + 16384 - то можно будет выбирать файлы
 
    ulFlags = 0
    Set objFolder = objShellApp.BrowseForFolder(0, "Выбрать папку с отчетами", ulFlags, "C:Temp")'"
    x = objFolder.Self.Path 'записываем в переменную путь к папке
    If Err.Number <> 0 Then
        MsgBox "Папка не выбрана!", vbInformation, "www.excel-vba.ru"
    Else
        MsgBox "Выбрана папка: '" & x & "'", vbInformation, "www.excel-vba.ru"
    End If
End Sub

Конечно, диалог подобный выглядит довольно убого, особенно на современных операционных системах. Но он работает в любых версиях офиса и в любом приложении, в том числе в Outlook. Порой это бывает полезней красоты.

Скачать пример:

  Tips_Macro_GetOpenFileFolder.xls (100,0 KiB, 3 740 скачиваний)


 
Диалог сохранения файла SaveAs

Еще один вид диалогового окна — запрос имени и места сохранения файла.
Параметры:

Application.GetSaveAsFilename([InitialFileName], [FileFilter], [FilterIndex], [Title], [ButtonText])
Универсальный диалог, работающий во всех версиях Excel, начиная с 2000

InitialFileName Можно указать путь и имя файла, которые будут использованы в качестве шаблона для сохранения. По умолчанию в диалоге отображается папка, которая была использована в последний раз в текущем сеансе Excel. Если диалог вызывается впервые, то будет показана для сохранения файлов по умолчанию(задается из самого Excel: Файл(File)Параметры(Options)Сохранение(Save)Расположение локальных файлов по умолчанию(Default local file location)).
Показываем диалог со стартовой папкой на той книге, в которой сам макрос, без указания имени сохраняемой книги:

sToSavePath = Application.GetSaveAsFilename(InitialFileName:=ThisWorkbook.Path)

Показываем диалог со стартовой папкой на той книге, в которой сам макрос и именем сохраняемой книги «SaveAs.xlsm»:

sToSavePath = Application.GetSaveAsFilename(InitialFileName:="SaveAs.xlsm", FileFilter:="Excel files (*.xlsm), *.xlsm")

Здесь следует обратить внимание на один важный момент: если необходимо помимо стартовой папки указать еще и имя файла, то в обязательном порядке надо указывать так же аргумент FileFilter. Если его не указывать, то InitialFileName просто откроет указанную папку, т.к. не поймет файлы какого типа надо отображать. Либо вместо «SaveAs.xlsm» надо будет указывать «SaveAs.*», что я лично настоятельно не рекомендую делать.
Несмотря на возможность указать имя файла его можно изменить прямо в диалоговом окне, что тоже порой правильнее. Например, чтобы убедиться в том, что имя файла указано пользователем.

FileFilter Указываются типы файлов, которые будут отображаться в диалоговом окне выбора. Должен совпадать с тем типом, с которым собираемся сохранять файл. Например, если указать «Excel files(*.xls*),*.xls*», то возможно будет выбрать только тип файлов Excel(с расширением, начинающимся на .xls — .xls, .xlsx, .xlsb, .xlsm и т.д.). Если указать «Text files(*.txt),*.txt», то только текстовые файлы с расширением .txt. Так же можно указать более одного типа расширений: «Excel files(*.xls*),*.xls*,Text files(*.txt),*.txt». По умолчанию тип файлов в диалоговом окне будет принадлежать первому указанному типу файлов(*.xls*). Но можно указать любой из перечисленных типов при помощи аргумента FilterIndex. Так же можно указать выбор любых типов файлов: «All files(*.*),*.*»
FilterIndex Если аргументом FileFilter указано более одного типа файлов(расширений), то этот аргумент указывает какой именно тип использовать. Например, следующая строка по умолчанию назначает выбор и сохранение файла в текстовый:

avFiles = Application.GetSaveAsFilename _
    (InitialFileName:=ThisWorkbook.Path, FileFilter:="Excel files(*.xls*),*.xls*,Text files(*.txt),*.txt", FilterIndex:=2)

Атрибут FilterIndex

Title Текст заголовка диалогового окна. Если указать «Выбрать текстовые или Excel файлы», то именно этот текст будет в заголовке. Если не указывать, то будет текст по умолчанию(нечто вроде «Сохранение документа»)
ButtonText Данный аргумент доступен только для ПК под управлением Macintosh(MAC). Назначает текст для кнопки диалогового окна Сохранить. Для владельцев Windows этот текст всегда будет «Сохранить»

Что еще важно знать: сам по себе вызов диалога GetSaveAsFilename ничего не сохраняет — он только создает путь для сохраняемого файла. Сохранять придется принудительно после выбора места и имени.
Пример применения диалога Application.GetSaveAsFilename

Sub ShowGetSaveAsDialod()
    Dim sToSavePath
    sToSavePath = Application.GetSaveAsFilename( _
             InitialFileName:=ThisWorkbook.Path, _
             FileFilter:="Excel files(*.xls*),*.xls*,Text files(*.txt),*.txt", _
             FilterIndex:=2, _
             Title:="Сохранить файл")
    'если нажали Отмена - завершаем процедуру ничего не сохраняя
    If VarType(sToSavePath) = vbBoolean Then
        Exit Sub
    End If
    'непосредственно сохранение файла
    ThisWorkbook.SaveAs Filename:=sToSavePath, FileFormat:=ThisWorkbook.FileFormat
End Sub

Здесь тоже есть нюанс — метод SaveAs имеет два важных аргумента:
1. Filename — путь и имя сохраняемого файла. Здесь должно быть все понятно. Указываем то, что выбрали в диалоге.
2. FileFormat — формат сохраняемого файла. При этом не текстовое представление(как в диалоге «xls» или «txt»), а одна из предустановленных констант формата файла. Вот основные константы:

Константа Excel Числовая константа Расшифровка
xlOpenXMLWorkbookMacroEnabled 51 xlsm — книга Excel
xlOpenXMLWorkbookMacroEnabled 52 xlsm — книга Excel с поддержкой макросов
xlExcel12 50 xlsb — двоичная книга Excel (с поддержкой макросов)
xlOpenXMLAddIn 55 xlam — надстройка Excel
xlOpenXMLTemplate 54 xltx — шаблон Excel
xlOpenXMLTemplateMacroEnabled 53 xltm — шаблон Excel с поддержкой макросов
xlExcel8 56 xls — книга Excel(97 — 2003)
xlAddIn 18 xla — надстройка Excel(97 — 2003)
xlTemplate 17 xlt — шаблон Excel(97 — 2003)
xlCurrentPlatformText -4158 txt — текстовый файл с разделителями табуляции
xlUnicodeText 42 txt — текстовый файл в кодировке Юникод
xlCSV 6 csv — CSV(разделитель запятая)
xlCSVMSDOS 24 csv — CSV(MS — DOS)
XlFileFormat 62 csv — CSV UTF-8(разделитель запятая)
xlTypePDF 0 pdf — файл в формате PDF

Пример использования констант в диалогах Application.GetSaveAsFilename
Сохраняем файл с форматом xlsm — файл с поддержкой макросов. Для этого ищем в таблице выше расширение xlsm и берем либо константу Excel либо числовую константу:

Sub ShowGetSaveAsDialod()
    Dim sToSavePath
    sToSavePath = Application.GetSaveAsFilename( _
             InitialFileName:=ThisWorkbook.Path & "Report.xlsm", _
             FileFilter:="Excel files(*.xlsm),*.xlsm")
    'если нажали Отмена - завершаем процедуру ничего не сохраняя
    If VarType(sToSavePath) = vbBoolean Then
        Exit Sub
    End If
    'непосредственно сохранение файла
    'используем встроенную константу Excel
    ThisWorkbook.SaveAs Filename:=sToSavePath, FileFormat:=xlOpenXMLWorkbookMacroEnabled
    'используем числовую константу
    'ThisWorkbook.SaveAs Filename:=sToSavePath, FileFormat:=52
End Sub

Любой метод: либо числовая константа, либо встроенная работают одинаково. Вопрос лишь в том, что лично для Вас будет удобнее и нагляднее.

Так же см.:
Работа с диалогами
Как запретить сообщения?


Статья помогла? Поделись ссылкой с друзьями!

  Плейлист   Видеоуроки


Поиск по меткам



Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика

Выбор файлов в VBA Excel. Стандартный диалог Application.GetOpenFilename. Стартовая папка диалога выбора файлов.

Открытие диалога выбора файлов

Открытие диалога для выбора любого файла и записи его полного имени в ячейку «A1»:

Private Sub CommandButton1_Click()

  Range(«A1») = Application.GetOpenFilename

End Sub

В процессе выполнения этого кода VBA Excel открывается диалог с заголовком по умолчанию «Открытие файла» и возможностью выбора любого файла. При нажатии на кнопку «Открытие» полное имя выбранного файла запишется в ячейку «A1». При нажатии на кнопку «Отмена» или кнопку закрытия формы в ячейку «A1» запишется строка «Ложь».

Открытие диалога с заголовком «Выбор файла»:

Private Sub CommandButton1_Click()

  Range(«A1») = Application.GetOpenFilename (, , «Выбор файла»)

End Sub

Открытие диалога выбора файлов с указанием одного фильтра:

Private Sub CommandButton1_Click()

  Range(«A1») = Application.GetOpenFilename («Файлы Excel 97-2003,*.xls», , «Выбор файла»)

End Sub

Фильтр в этом коде VBA Excel представляет из себя пару: наименование фильтра и строка из знака подстановки «*» с расширением отбираемых файлов, разделенных «,». В данном случае в открытом диалоге будут видны файлы с расширением «.xls». Таких пар может быть несколько, как в следующем примере.

Открытие диалога выбора файлов с указанием трех фильтров файлов:

Private Sub CommandButton1_Click()

  Range(«A1») = Application.GetOpenFilename _

  («Файлы Excel 97-2003,*.xls,Текстовые файлы,*.txt,Рисунки,*.jpg», , «Выбор файла»)

End Sub

Выбрать один из фильтров можно из раскрывающегося списка диалога выбора файлов «Тип файлов».

Для справки:

Application.GetOpenFilename («Фильтры», номер, «Заголовок диалога»)

Аргумент номер — это номер по порядку фильтра в списке, отображаемого по умолчанию. Если номер отсутствует или превышает количество фильтров, то по умолчанию отображается первый в списке.

Стартовая папка диалога выбора файлов

При открытии стандартного диалога выбора файлов «Application.GetOpenFilename» по умолчанию, как стартовая, выбирается папка «Мои документы» в Windows XP, «Документы» в Windows 8, но, при желании, можно задать, как стартовую, и любую другую папку.

Для этого можно воспользоваться операторами ChDrive (смена текущего диска) и ChDir (смена текущего каталога). По умолчанию текущим является диск «С» в Windows XP, поэтому, если ваша папка находится на этом диске, то ChDrive можно пропустить.

Пример 1
Проверяем, какая папка является стартовой по умолчанию. При вызове процедуры из первого примера диалог откроется именно на этой папке. Если выбрать файл, в ячейку «A1» запишется полный путь к нему, а при отмене выбора, запишется «Ложь».

Private Sub CommandButton1_Click()

  Range(«A1») = Application.GetOpenFilename

End Sub

Пример 2
В этом примере кода VBA стартовой назначается папка D:Новая папка. Если пропустить оператор ChDrive "D", то по умолчанию стартовой все-равно останется папка «Мои документы».

Private Sub CommandButton1_Click()

‘Смена текущего диска:

  ChDrive «D»

‘Смена текущего каталога:

  ChDir «D:Новая папка»

  Range(«A1») = Application.GetOpenFilename

End Sub

Пример 3
Здесь стартовой назначается папка, в которой расположен исходный файл Excel с кодом.

Private Sub CommandButton1_Click()

‘Смена текущего диска:

  ChDrive Left(ThisWorkbook.Path, 1)

‘Смена текущего каталога:

  ChDir ThisWorkbook.Path

  Range(«A1») = Application.GetOpenFilename

End Sub

Имя диска может быть любым, в зависимости от имеющегося на вашем компьютере.

Смотрите, как с помощью VBA Excel можно открыть папку в проводнике Windows для просмотра.


Function GetFilePath(Optional ByVal Title As String = «Выберите файл для загрузки», _  
                    Optional ByVal InitialPath As String = «D:ПланированиеГрафик пр блоки», _  
                    Optional ByVal FilterDescription As String = «Книги Excel», _  
                    Optional ByVal FilterExtention As String = «*.xlsx*») As String  
   ‘ функция выводит диалоговое окно выбора файла с заголовком Title,  
   ‘ начиная обзор диска с папки InitialPath  
   ‘ возвращает полный путь к выбранному файлу, или пустую строку в случае отказа от выбора  
   ‘ для фильтра можно указать описание и расширение выбираемых файлов  
   On Error Resume Next  
   With Application.FileDialog(msoFileDialogOpen)  
       .ButtonName = «Выбрать»: .Title = Title: .InitialFileName = InitialPath  
       .Filters.Clear: .Filters.Add FilterDescription, FilterExtention  
       If .Show <> -1 Then Exit Function  
       GetFilePath = .SelectedItems(1): PS = Application.PathSeparator  
   End With  
End Function  

   Sub OpenFile_()  
    ИмяФайла = GetFilePath(, «D:ПланированиеГрафик пр блоки», , «*.*») ‘ запрашиваем имя файла  
   ‘ ===================== другие варианты вызова функции =====================  
   ‘ текстовые файлы, стартовая папка не указана  
   ‘       ИмяФайла = GetFilePath(«Выберите текстовый файл», , «Текстовые файлы», «*.txt»)  
   ‘ файлы любого типа из папки «C:Windows»  
   ‘       ИмяФайла = GetFilePath(, «C:Windows», , «*»)  
   ‘ ============================================================­==============  

     If ИмяФайла = «» Then Exit Sub    ‘ выход, если пользователь отказался от выбора файла  
  ‘ MsgBox «Выбран файл: » & ИмяФайла, vbInformation  
 End Sub  
Вот я сделал макрос чтобы выбирать файл, а как дальше продолжить макрос, чтобы в выбранном файле брались данные из нужны листов и из нужных ячеек, и вставлялись в другую книгу?

Импорт и экспорт текстовых файлов (в формате TXT или CSV)

​Смотрите также​​stalker138013​ перейдёт в него.​ изменится в соответствии​ операции импорта из​Создать…​ таблицу​Winter​Calgary​ сочетание клавиш Ctrl​Count of Medal​ области сводной таблицы —​ и нажмите кнопку​ общего доступа.​ см. в статье​ можно преобразовать после​Если файл имеет расширение​Примечание:​: Добрый вечер. На​Существует возможность вставить новый​ с макетом, но​

​ базы данных, из​в выделенной области​. Поскольку у данных​Tokyo​CAN​ + T, чтобы​.​ это не повлияет​Открыть​Учебники этой серии​ Мастер импорта текста.​​ импорта. Дополнительные сведения​​ CSV, приложение Excel​ Мы стараемся как можно​ работе в прайс​

​ элемент с помощью​ при этом базовые​

  • ​ другой книги Excel,​Полей сводной таблицы​ есть заголовки, установите​JPN​CA​ отформатировать данные как​

  • ​В таблице​ на базовые данные.​. Откроется окно Выбор​Импорт данных в Excel​В операционной системе Microsoft​ см. в статьях​

​ автоматически откроет его​ оперативнее обеспечивать вас​ вставляю фото. Размер​ контекстного меню.​ данные будут изменены​ а также посредством​, чтобы открыть диалоговое​

​ флажок​​JA​1988​ таблицу. Также можно​Medals​

Импорт текстового файла путем его открытия в Microsoft Excel

​Рассмотрим в сводной таблице​ таблицы ниже таблиц​ 2013 и создание​ Windows нажмите кнопку​ Преобразование чисел из​​ и отобразит данные​​ актуальными справочными материалами​ фото очень маленький.​Кликаем правой кнопкой мыши​ без возможности восстановления.​ копирования и вставки​ окно​Таблица с заголовками​1964​Winter​ отформатировать данные как​

  1. ​снова выберите поле​​ данные об олимпийских​​ в базе данных.​​ модели данных​​Пуск​

  2. ​ текстового формата в​​ в новой книге.​​ на вашем языке.​​ Но после того,​​ по любому из​

  3. ​D. Базовые данные изменятся,​ данных в Excel.​

    • ​Создания связи​в окне​Summer​St. Moritz​ таблицу на ленте,​ Medal и перетащите​​ медалях, начиная с​​ Таблицы в базе​Расширение связей модели данных​

    • ​и выберите пункт​ числовой и Преобразование​Примечание:​ Эта страница переведена​

    • ​ как я вставляю​ уже имеющихся в​ что приведет к​Чтобы данные работали вместе,​, как показано на​

      ​Создание таблицы​​Sapporo​SUI​ выбрав​ его в область​ призеров Олимпийских игр,​ данных похожи на​ с помощью Excel,​Панель управления​ дат из текстового​ .При открытии в Excel​ автоматически, поэтому ее​ фотки в файл.​ книге листов. В​ созданию новых наборов​ потребовалось создать связь​ приведенном ниже снимке​.​JPN​SZ​ГЛАВНАЯ > форматировать как​ФИЛЬТРЫ​ упорядоченных по дисциплинам,​ листы или таблицы​ Power Pivot и​.​ формата в формат​ файлов с расширением​ текст может содержать​ Его размер становится​ появившемся контекстном меню​ данных.​ между таблицами, которую​

Импорт текстового файла путем подключения к нему

​ экрана.​Присвойте таблице имя. На​JA​1928​

  1. ​ таблицу​.​ типам медалей и​

  2. ​ в Excel. Установите​​ DAX​​Откройте диалоговое окно изменения​​ даты.​​ CSV для интерпретации​​ неточности и грамматические​​ очень большим.​

    Параметры

  3. ​ выбираем пункт​Вопрос 4.​ Excel использует для​

    ​В области​ вкладках​1972​Winter​. Так как данные​Давайте отфильтруем сводную таблицу​ странам или регионам.​​ флажок​ изображение кнопки​Создание отчетов Power View​ региональных и языковых​Лист Excel можно преобразовать​ способа импорта каждого​​ ошибки. Для нас​​Вставил 30 фото​«Вставить…»​

  4. ​Что необходимо для​​ согласования строк. Вы​​Таблица​РАБОТА С ТАБЛИЦАМИ >​

    • ​Winter​​St. Moritz​​ с заголовками, выберите​ таким образом, чтобы​В​

    • ​Разрешить выбор нескольких таблиц​​ на основе карт​​ параметров.​ в текстовый файл,​

      • ​ столбца данных используются​ важно, чтобы эта​ — размер файла​​.​​ создания связи между​

      • ​ также узнали, что​выберите пункт​ КОНСТРУКТОР > Свойства​Nagano​​SUI​​Таблица с заголовками​

  5. ​ отображались только страны​​Полях сводной таблицы​​и выберите все​

    ​Объединение интернет-данных и настройка​Введите новый разделитель в​ используя команду меню​

​ текущие параметры по​ статья была вам​ стал 6мб. На​Открывается новое окно. В​ таблицами?​ наличие в таблице​Disciplines​найдите поле​JPN​SZ​в окне​ или регионы, завоевавшие​

Экспорт данных в текстовый файл путем его сохранения

​разверните​ таблицы. Нажмите кнопку​ параметров отчета Power​​ поле​​Сохранить как​

  1. ​ умолчанию. С помощью​​ полезна. Просим вас​​ другом компе сотрудница​​ нём нам нужно​​A. Ни в одной​

  2. ​ столбцов, согласующих данные​​из раскрывающегося списка.​​Имя таблицы​

  3. ​JA​​1948​​Создание таблицы​ более 90 медалей.​

    • ​таблице​​ОК​ View по умолчанию​​Разделитель элементов списка​​.​​ мастера импорта текста​

    • ​ уделить пару секунд​​ также вставляла фотки,​ будет выбрать, что​ из таблиц не​ в другой таблице,​В области​и введите слово​1998​Winter​

  4. ​, которая появляется, как​ Вот как это​, щелкнув стрелку​.​​Создание впечатляющих отчетов Power​​.​

  5. ​Выберите​ можно применять другие​ и сообщить, помогла​ 220шт — у​ именно мы хотим​ может быть столбца,​ необходимо для создания​Столбец (чужой)​​Hosts​​Winter​Beijing​ показано ниже.​ сделать.​ рядом с ним.​

  6. ​Откроется окно импорта данных.​ View, часть 1​Дважды нажмите кнопку​Файл​ варианты преобразования столбцов​ ли она вам,​ неё файл получился​ вставить. Выбираем элемент​ содержащего уникальные, не​ связей и поиска​выберите пункт​​.​​Seoul​CHN​Форматирование данных в​В сводной таблице щелкните​ Найдите поле NOC_CountryRegion​Примечание:​Создание впечатляющих отчетов Power​​ОК​​ >​

​ в различные форматы​ с помощью кнопок​ 12мб.​«Лист»​ повторяющиеся значения.​ связанных строк.​

Изменение разделителя, используемого в текстовом файле

​SportID​Выберите столбец Edition и​KOR​CH​ виде таблицы есть​ стрелку раскрывающегося списка​ в​ Обратите внимание, флажок в​ View, часть 2​.​Сохранить как​ данных. Например, в​ внизу страницы. Для​

​Вот такие чудеса.​. Жмем на кнопку​B. Таблица не должна​Вы готовы перейти к​

Изменение разделителя во всех текстовых CSV-файлах

  1. ​.​ на вкладке​​KS​​2008 г.​​ множество преимуществ. В​​ рядом с полем​

  2. ​развернутом таблице​ нижней части окна,​В этом учебнике вы​

  3. ​Примечание:​.​​ файле с расширением​​ удобства также приводим​

  4. ​Может кто подскажет,​​«OK»​​ быть частью книги​

​ следующему учебнику этого​​В области​ГЛАВНАЯ​1988​Summer​ виде таблицы, было​Метки столбцов​и перетащите его​ можно​

См. также

​ начнете работу с​ После изменения символа разделителя​

​Появится диалоговое окно​ CSV в столбце​

​ ссылку на оригинал​

​ что с моим​.​

​ Excel.​

​ цикла. Вот ссылка:​

support.office.com

Учебник: Импорт данных в Excel и создание модели данных

​Связанная таблица​​задайте для него​Summer​Berlin​ легче идентифицировать можно​.​ в область​Добавить эти данные в​ пустой книги Excel.​ элементов списка на​Сохранение документа​ дат может быть​ (на английском языке).​ файлом не так?​После этого, новый лист​C. Столбцы не должны​Расширение связей модели данных​выберите пункт​числовой​Mexico​GER​ присвоить имя. Также​

​Выберите​​СТОЛБЦОВ​ модель данных​Импорт данных из базы​ данном компьютере все​.​ установлен формат М/Д/Г,​Импортировать данные из текстовых​Хотел прайс подгрузить,​ будет добавлен в​ быть преобразованы в​ с использованием Excel 2013,​Sports​формат с 0​MEX​GM​ можно установить связи​Фильтры по значению​. Центра управления СЕТЬЮ​, которое показано на​ данных​ программы будут использовать​В поле​ а в Excel​ файлов в Excel​

​ как пример. Но​​ список уже имеющихся​ таблицы.​ Power Pivot и​.​ десятичных знаков.​MX​1936​ между таблицами, позволяя​, а затем —​

​ означает национальный Олимпийских​ приведенном ниже снимке​Импорт данных из электронной​ новый символ. Та​Тип файла​ по умолчанию задан​ можно двумя способами:​ он слишком большой?​ элементов над строкой​D. Ни один из​ DAX​В области​

​Сохраните книгу. Книга будет​

  1. ​1968​Summer​ исследование и анализ​

  2. ​Больше…​ комитетов, являющееся подразделение​ экрана. Модели данных​ таблицы​

  3. ​ же процедура позволяет​выберите формат текстового​

  4. ​ формат Г/М/Д, или​ открыть файл в​Второй вопрос удален​

  5. ​ состояния.​ вышеперечисленных ответов не​

  6. ​ТЕСТ​Связанный столбец (первичный ключ)​

​ иметь следующий вид:​Summer​Garmisch-Partenkirchen​

Разделы учебника

​ в сводных таблицах,​Введите​

​ для страны или​ создается автоматически при​

​Импорт данных с помощью​ изменить символ на​

​ файла для листа.​ необходимо преобразовать в​

​ приложении Excel или​

​ [МОДЕРАТОР]​Ещё одна возможность создать​ является правильным.​Хотите проверить, насколько хорошо​

​выберите пункт​Теперь, когда у нас​Amsterdam​GER​ Power Pivot и​90​ региона.​ импорте или работать​ копирования и вставки​ принятый по умолчанию.​Например, выберите​ текст столбец чисел,​ импортировать его как​vlad000​ новый лист предполагает​

Импорт данных из базы данных

​Ответы на вопросы теста​ вы усвоили пройденный​SportID​ есть книги Excel​NED​GM​ Power View.​в последнем поле​Затем перетащите виды спорта​

​ с несколько таблиц​Создание связи между импортированными​Общие сведения о формулах​Текстовые файлы (с разделителями​ содержащих начальные нули,​

  1. ​ диапазон внешних данных.​: stalker138013,можно попробовать прогонять​ использование инструментов, которые​Правильный ответ: C​ материал? Приступим. Этот​.​ с таблицами, можно​NL​​1936​​Назовите таблицу. В​​ (справа). Нажмите кнопку​​ из таблицы​ одновременно. Модели данных​
    ​ данными​ в Excel​
    ​ табуляции)​ так, чтобы сохранить​
    ​ Чтобы экспортировать данные​ двоичные данные через​
    ​ размещены на ленте.​Правильный ответ: D​

  2. ​ тест посвящен функциям,​Нажмите кнопку​

  3. ​ создать отношения между​​1928​Winter​РАБОТА с ТАБЛИЦАМИ >​​ОК​Disciplines​ интегрируется таблиц, включение​Контрольная точка и тест​Рекомендации, позволяющие избежать появления​или​ их. Чтобы принудительно​ из Excel в​ РР и в​Находясь во вкладке​Правильный ответ: Б​ возможностям и требованиям,​ОК​
    Импорт данных из Access
    Импорт данных из Access с маленькой лентой

  4. ​ ними. Создание связей​Summer​​Barcelona​​ КОНСТРУКТОР > Свойства​.​в область​ глубокого анализа с​В конце учебника есть​ неработающих формул​CSV (разделители — запятые)​ запустить мастер импорта​​ текстовый файл, используйте​​ сводной талбличке PowerView​«Главная»​​Правильный ответ: D​​ о которых вы​
    Окно

  5. ​.​

    ​ между таблицами позволяет​​Oslo​ESP​, найдите поле​​Сводная таблица будет иметь​СТРОКИ​​ помощью сводных таблиц,​ тест, с помощью​Поиск ошибок в формулах​.​ текста, можно перед​ команду​ отображать. Картинкии будут​кликаем по пиктограмме​Примечания:​ узнали в этом​Изменения сводной таблицы, чтобы​ объединить данные двух​NOR​SP​Имя таблицы​ следующий вид:​.​ Power Pivot и​ которого можно проверить​Сочетания клавиш и горячие​Примечание:​ открытием файла изменить​Сохранить как​ иметь исходный размер​ в виде перевернутого​ Ниже перечислены источники данных​ учебнике. Внизу страницы​ отразить новый уровень.​

    ​ таблиц.​​NO​​1992​и введите​Не затрачивая особых усилий,​Давайте отфильтруем дисциплины, чтобы​ Power View. При​ свои знания.​​ клавиши в Excel​​ Различные форматы поддерживают разные​
    Окно

  6. ​ его расширение на​и измените тип​ и цвет. Но​ треугольника около кнопки​
    Пустая сводная таблица

​ и изображений в​ вы найдете ответы​ Но Сводная таблица​Мы уже можем начать​1952​

​Summer​Sports​

​ вы создали сводную​ отображались только пять​ импорте таблиц из​В этой серии учебников​Функции Excel (по алфавиту)​ наборы функциональных возможностей.​ CSV или TXT​ файла в раскрывающемся​ надо файлик и​«Вставить»​​ этом цикле учебников.​​ на вопросы. Удачи!​ выглядит неправильно, пока​ использовать поля в​​Winter​​Helsinki​​. Книга будет иметь​​ таблицу, которая содержит​​ видов спорта: стрельба​​ базы данных, существующие​​ использует данные, описывающие​​Функции Excel (по категориям)​

Четыре области полей сводной таблицы

​ Дополнительные сведения о​ или импортировать текстовый​ меню.​ картинок чтобы проверить​, которая размещена на​Набор данных об Олимпийских​Вопрос 1.​ из-за порядок полей​ сводной таблице из​Lillehammer​FIN​ вид ниже.​ поля из трех​ из лука (Archery),​

​ базы данных связи​ Олимпийских Медалях, размещения​Примечание:​ функциональных возможностях, поддерживаемых​ файл путем подключения​Чаще всего используются два​stalker138013​

  1. ​ ленте в блоке​​ играх © Guardian​​Почему так важно​​ в область​​ импортированных таблиц. Если​NOR​FI​Сохраните книгу.​​ разных таблиц. Эта​​ прыжки в воду​ между этими таблицами​​ странах и различные​​Мы стараемся как​ различными форматами текстовых​ к нему.​ формата текстовых файлов:​: А как Вам​

  2. ​ инструментов​ News & Media​​ преобразовывать импортируемые данные​​СТРОК​​ не удается определить,​​NO​

  3. ​1952​Теперь, когда данные из​ задача оказалась настолько​ (Diving), фехтование (Fencing),​ используется для создания​ Олимпийских спортивные. Рекомендуется​ можно оперативнее обеспечивать​ файлов, см. в​В имеющийся лист можно​текстовые файлы с разделителями​ скинуть файл 6мб?​​«Ячейки»​​ Ltd.​​ в таблицы?​​. Дисциплины является Подкатегория​ как объединить поля​

    1. ​1994​Summer​ книги Excel импортированы,​ простой благодаря заранее​ фигурное катание (Figure​​ модели данных в​​ изучить каждый учебник​​ вас актуальными справочными​​ разделе Поддерживаемые Excel​ импортировать данные из​ (TXT), в которых​ Может у меня​. В появившемся меню​Изображения флагов из справочника​A. Их не нужно​​ заданного видов спорта,​​ в сводную таблицу,​Winter​Paris​ давайте сделаем то​ созданным связям между​ Skating) и конькобежный​ Excel. Прозрачно модели​ по порядку. Кроме​​ материалами на вашем​​ форматы файлов.​

    2. ​ текстового файла как​ для разделения полей​​ в настройках Екселя,​​ выбираем пункт​ CIA Factbook (cia.gov).​​ преобразовывать в таблицы,​​ но так как​​ нужно создать связь​​Stockholm​FRA​ же самое с​ таблицами. Поскольку связи​ спорт (Speed Skating).​ данных в Excel,​ того учебники с​ языке. Эта страница​​Перейдите в папку, в​​ диапазон внешних данных.​

  4. ​ текста обычно используется​​ что-то не так​​«Вставить лист»​Данные о населении из​​ потому что все​​ мы упорядочиваются дисциплины​​ с существующей моделью​​SWE​FR​ данными из таблицы​ между таблицами существовали​​ Это можно сделать​​ но вы можете​

  5. ​ помощью Excel 2013​​ переведена автоматически, поэтому​​ которой нужно сохранить​Щелкните ячейку, в которую​ знак табуляции (код​​ выставлено? Я пришлю​​.​

  6. ​ документов Всемирного банка​ импортированные данные преобразуются​ выше видов спорта​ данных. На следующих​SW​1900​ на веб-странице или​

    1. ​ в исходной базе​ в области​ просматривать и изменять​​ с поддержкой Power​​ ее текст может​

    2. ​ новый текстовый файл,​​ требуется поместить данные​​ знака ASCII 009);​​ пустой файл. Посмотрите​

    3. ​После этих действий вставка​​ (worldbank.org).​​ в таблицы автоматически.​ в области​​ этапах вы узнаете,​​1912​
      Окно

​Summer​ из любого другого​

Обновленная сводная таблица

​ данных и вы​Поля сводной таблицы​ его непосредственно с​ Pivot. Дополнительные сведения​ содержать неточности и​ и нажмите кнопку​ из текстового файла.​текстовые файлы с разделением​ пожалуйста.​ элемента будет выполнена.​Авторы эмблем олимпийских видов​B. Если преобразовать импортированные​СТРОК​ как создать связь​Summer​Paris​ источника, дающего возможность​

​ импортировали все таблицы​или в фильтре​ помощью надстройки Power​ об Excel 2013,​ грамматические ошибки. Для​Сохранить​На вкладке​ значений запятыми (CSV),​JayBhagavan​Также для выполнения данной​ спорта Thadius856 и​ данные в таблицы,​, он не организована​

Импорт данных из таблицы

​ между данными, импортированными​St Louis​FRA​ копирования и вставки​ сразу, приложение Excel​Метки строк​ Pivot. Модель данных​ щелкните здесь. Инструкции​ нас важно, чтобы​.​Данные​

​ в которых в​: Выложить на файлообменник.​ задачи можно применить,​ Parutakupiu.​

  1. ​ они не будут​ должным образом. На​​ из разных источников.​​USA​

  2. ​FR​ в Excel. На​ смогло воссоздать эти​в самой сводной​​ рассматривается более подробно​​ по включению Power​

  3. ​ эта статья была​Откроется диалоговое окно с​​в группе​​ качестве разделителя полей​xseed​ так называемые, горячие​Широко известно, что в​ включены в модель​ следующем экране показана​На​

  4. ​US​​1924​​ следующих этапах мы​ связи в модели​ таблице.​

  5. ​ далее в этом​ Pivot, щелкните здесь.​ вам полезна. Просим​ напоминанием о том,​Получение внешних данных​ текста обычно используется​: Я давно заметил​ клавиши. Просто набираем​​ одной книге (файле)​ данных. Они доступны​​ нежелательным порядком.​листе Лист1​​1904​​Summer​​ добавим из таблицы​​ данных.​Щелкните в любом месте​
    Окно
    ​ руководстве.​Начнем работу с учебником​ вас уделить пару​ что в текстовом​нажмите кнопку​ запятая (,).​ в excel одну​ на клавиатуре сочетание​ Excel имеются по​ в сводных таблицах,​Переход в область​в верхней части​

  6. ​Summer​​Chamonix​ города, принимающие Олимпийские​​Но что делать, если​​ сводной таблицы, чтобы​​Выберите параметр​​ с пустой книги.​​ секунд и сообщить,​ файле будет сохранен​
    Присвоение имени таблице в Excel

  7. ​Из текстового или CSV-файла​

Импорт данных с помощью копирования и вставки

​Можно изменить знак разделителя,​ вещь, если вставляешь​ клавиш​ умолчанию три листа,​ Power Pivot и​СТРОК​Полей сводной таблицы​Los Angeles​FRA​ игры.​ данные происходят из​ убедиться, что сводная​Отчет сводной таблицы​ В этом разделе​

  1. ​ помогла ли она​ только текущий лист.​​.​​ используемый как в​

  2. ​ изображение через CTRL-V​Shift+F11​ между которыми можно​

​ Power View только​

​видов спорта выше​

​, нажмите кнопку​

​USA​

​FR​

​Вставьте новый лист Excel​

​ разных источников или​

​ таблица Excel выбрана.​

​, предназначенный для импорта​

​ вы узнаете, как​

​ вам, с помощью​

​ Если нужно сохранить​

​Найдите файл, который нужно​

​ TXT-, так и​

​ скопированное из другого​

​. Новый лист не​

​ переключатся. Тем самым​

​ в том случае,​

​ Discipline. Это гораздо​

​все​

​US​

​1924​

​ и назовите его​

​ импортируются не одновременно?​

​ В списке​

​ таблиц в Excel​

​ подключиться к внешнему​

​ кнопок внизу страницы.​

​ именно текущий лист,​

​ импортировать, и дважды​

​ CSV-файлах. Это может​

​ редактора, то оно​

​ просто будет добавлен,​

​ возникает возможность создавать​

​ если исключены из​

​ лучше и отображение​

​, чтобы просмотреть полный​

​1932​

​Winter​

​Hosts​

​ Обычно можно создать​

​Поля сводной таблицы​

​ и подготовки сводной​

​ источнику данных и​

​ Для удобства также​

​ нажмите кнопку​

​ щелкните его.​

​ потребоваться для обеспечения​

​ вставляется как несжатое​

​ а ещё и​

​ в одном файле​

​ модели данных.​

​ в сводной таблице​

​ список доступных таблиц,​

​Summer​

​Grenoble​

​.​

​ связи с новыми​

​, где развернута таблица​

​ таблицы для анализа​

​ импортировать их в​

​ приводим ссылку на​

​ОК​

​Следуйте инструкциям мастера импорта​

​ успешного выполнения операций​

​ (а-ля *.bmp). Если​

​ станет активным. То​

​ несколько связанных документов.​

​C. Если преобразовать импортированные​

​ как вы хотите​

​ как показано на​

​Lake Placid​

​FRA​

​Выделите и скопируйте приведенную​

​ данными на основе​

​Disciplines​

​ импортированных таблиц и​

​ Excel для дальнейшего​

​ оригинал (на английском​

​. Другие листы можно​

​ текста. Дополнительные сведения​

​ импорта и экспорта.​

​ же это делать​

​ есть, сразу после​

​ Но, что делать,​

​ данные в таблицы,​

​ просмотреть, как показано​

​ приведенном ниже снимке​

​USA​

​FR​

​ ниже таблицу вместе​

​ совпадающих столбцов. На​

​, наведите указатель на​

​ нажмите​

​ анализа.​

​ языке) .​

​ сохранить в отдельных​

​ об использовании мастера​

​Примечание:​

​ через Специальную вставку​

​ добавления пользователь автоматически​

​ если предустановленного количества​

​ их можно включить​

​ на приведенном ниже​

​ экрана.​

​US​

​1968​

​ с заголовками.​

​ следующем этапе вы​

​ поле Discipline, и​

​кнопку ОК​

​Сначала загрузим данные из​

​Аннотация.​

​ текстовых файлах, повторив​

​ импорта текста см.​

​ Можно импортировать и экспортировать​

​ -> рисунок, то​

​ перейдет на него.​

​ таких дополнительных вкладок​

​ в модель данных,​

​ снимке экрана.​

​Прокрутите список, чтобы увидеть​

​1932​

​Winter​

​City​

​ импортируете дополнительные таблицы​

​ в его правой​

​.​

​ Интернета. Эти данные​

​    Это первый учебник​

​ эту процедуру для​

​ в его справке,​

​ до 1 048​

​ изображение вставляется в​

​Урок:​

​ не хватает? Давайте​

​ и они будут​

​При этом Excel создает​

​ новые таблицы, которую​

​Winter​

​Albertville​

​NOC_CountryRegion​

​ и узнаете об​

​ части появится стрелка​

​После завершения импорта данных​

​ об олимпийских медалях​

​ из серии, который​

​ каждого из них.​

​ которую можно вызвать​

​ 576 строк и​

​ сжатом формате (без​

​Горячие клавиши в Экселе​

​ разберемся, как добавить​

​ доступны в сводных​

​ модель данных, которую​

​ вы только что​

​Squaw Valley​

​FRA​

​Alpha-2 Code​

​ этапах создания новых​

​ раскрывающегося списка. Щелкните​

​ создается Сводная таблица​

​ являются базой данных​

​ поможет ознакомиться с​

​Откроется второе диалоговое окно​

​ с помощью кнопки​

​ 16 384 столбцов.​

​ потерь), объем файла​

​Как видим, существует четыре​

​ новый элемент в​

​ таблицах, Power Pivot​

​ можно использовать глобально​

​ добавили.​

​USA​

​FR​

​Edition​

​ связей.​

​ эту стрелку, нажмите​

​ с использованием импортированных​

​ Microsoft Access.​

​ программой Excel и​

​ с напоминанием о​

​Справка​

​Текстовый файл, созданный в​

​ при этом уменьшается​

​ совершенно разных варианта​

​ Экселе.​

​ и Power View.​

​ во всей книге​

​Разверните​

​US​

​1992​

​Season​

​Теперь давайте импортируем данные​

​ кнопку​

​ таблиц.​

​Перейдите по следующим ссылкам,​

​ ее возможностями объединения​

​ том, что сохраняемый​

​на любой странице​

​ другой программе, можно​

​ значительно.​

​ добавления нового листа​

​Скачать последнюю версию​

​D. Импортированные данные нельзя​

​ в любой сводной​

​виды спорта​

​1960​

​Winter​

​Melbourne / Stockholm​

​ из другого источника,​

​(Выбрать все)​

​Теперь, когда данные импортированы​

​ чтобы загрузить файлы,​

​ и анализа данных,​

​ лист может содержать​

​ мастера. Окончив работу​

​ открыть как книгу​

​Раньше для борьбы​

​ в книгу Эксель.​

​ Excel​

​ преобразовать в таблицы.​

​ таблице и диаграмме,​

​и выберите​

​Winter​

​London​

​AUS​

​ из существующей книги.​

​, чтобы снять отметку​

​ в Excel и​

​ которые мы используем​

​ а также научиться​

​ возможности, которые не​

​ с мастером, нажмите​

​ Microsoft Excel с​

​ с подобными проявлениями,​

​ Каждый пользователь выбирает​

​Как переключатся между листами,​

​Вопрос 2.​

​ а также в​

  1. ​видов спорта​Moscow​GBR​​AS​​ Затем укажем связи​

  2. ​ со всех выбранных​ автоматически создана модель​ при этом цикле​ легко использовать их.​ поддерживаются текстовыми форматами​ кнопку​ помощью команды​​ если специальная вставка​ тот путь, который​​ знает большинство пользователей.​Какие из указанных​ Power Pivot и​​, чтобы добавить​​URS​​UK​​1956​

  3. ​ между существующими и​ параметров, а затем​​ данных, можно приступить​ учебников. Загрузка каждого​​ С помощью этой​​ файлов. Если в​​Готово​​Открыть​​ не срабатывала (особенно​

  4. ​ ему кажется более​ Для этого нужно​​ ниже источников данных​​ отчете Power View.​​ его в сводной​​RU​1908​

  5. ​Summer​ новыми данными. Связи​

Основная таблица

​ прокрутите вниз и​ к их просмотру.​ из четырех файлов​ серии учебников вы​ новом текстовом файле​, чтобы завершить операцию​. При открытии текстового​ в ворде), я​

Создание связи между импортированными данными

​ удобным, так как​ кликнуть по одному​ можно импортировать в​ Основой модели данных​ таблице. Обратите внимание​1980​Summer​Sydney​ позволяют анализировать наборы​ выберите пункты Archery,​Просмотр данных в сводной​ в папке, доступной​ научитесь создавать с​ нужно сохранить только​

  1. ​ импорта.​​ файла в Microsoft​​ использовал редактор Microsoft​​ функциональной разницы между​​ из их наименований,​​ Excel и включить​​ являются связи между​ на то, что​Summer​London​AUS​
    Нажатие кнопки

  2. ​ данных в Excel​ Diving, Fencing, Figure​ таблице​ удобный доступ, например​

  3. ​ нуля и совершенствовать​​ данные листа, нажмите​​В диалоговом окне​​ Excel его формат​​ Photo Editor (),​ вариантами нет. Конечно,​ которые расположены над​ в модель данных?​ таблицами, определяющие пути​ Excel предложит создать​Los Angeles​GBR​
    Запрос на СОЗДАНИЕ... связи в полях сводной таблицы

    ​AS​ и создавать интересные​ Skating и Speed​Просматривать импортированные данные удобнее​загрузки​ рабочие книги Excel,​ кнопку​Импорт данных​ не изменяется — это​ просто вставляя и​ быстрее и удобнее​ строкой состояния в​A. Базы данных Access​ навигации и вычисления​ связи, как показано​USA​UK​​2000​​ и эффектные визуализации​ Skating. Нажмите кнопку​ всего с помощью​или​ строить модели данных​Да​выполните одно из​ можно видеть в​ затем копируя из​ всего использовать для​

  4. ​ нижней левой части​​ и многие другие​​ данных.​​ на приведенном ниже​​US​1908​​Summer​​ импортированных данных.​ОК​ сводной таблицы. В​
    Окно

  5. ​Мои документы​​ и создавать удивительные​​. Если имеются сомнения​​ указанных ниже действий.​​ строке заголовка Microsoft​

  6. ​ него изображение в​​ этих целей горячие​​ экрана.​​ базы данных.​​В следующем учебнике​

  7. ​ снимке экрана.​​1984 г.​​Winter​​Innsbruck​​Начнем с создания пустого​

  8. ​.​​ сводной таблице можно​​или для создания новой​​ интерактивные отчеты с​​ и необходимо получить​

  9. ​При необходимости нажмите кнопку​​ Excel, где имя​​ буфер для последующей​

​ клавиши, но не​А вот как добавлять​B. Существующие файлы Excel.​Расширение связей модели данных​Это уведомление происходит потому,​Summer​​London​​AUT​ листа, а затем​Либо щелкните в разделе​ перетаскивать поля (похожие​ папки:​ использованием надстройки Power​​ дополнительные сведения о​​Свойства​ отображается с расширением​ вставки в excel/word.​ каждый человек может​
Сводная таблица с нежелательным порядком

  1. ​ листы знает не​​C. Все, что можно​​ с использованием Excel​ что вы использовали​Atlanta​GBR​AT​ импортируем данные из​ сводной таблицы​ на столбцы в​
    Сводная таблица с правильным порядком

​> Базы данных​ View. В этих​ том, какие возможности​, чтобы задать параметры​ текстового файла (например,​ Сейчас он имеет​ удержать комбинацию в​ каждый. Некоторые пользователи​ скопировать и вставить​ 2013,​ полей из таблицы,​USA​UK​1964​

​ книги Excel.​​Метки строк​ Excel) из таблиц​ OlympicMedals.accdb Access​​ учебниках приводится описание​​ Excel не поддерживаются​​ обновления, форматирования и​ .TXT или .CSV).​ другое имя и​ голове, а поэтому​ даже не в​ в Excel, а​Power Pivot​ которая не является​US​1948​Winter​Вставьте новый лист Excel​стрелку раскрывающегося списка​ (например, таблиц, импортированных​> Книгу Excel​

Контрольная точка и тест

​ возможностей средств бизнес-аналитики​

​ форматами текстовых файлов,​ макета импортируемых данных.​Последовательно выберите пункты​ я не знаю​ большинством пользователей применяются​ курсе, что существует​ также отформатировать как​и DAX​ частью базовой модели​1996​Summer​Innsbruck​ и назовите его​ рядом с полем​

​ из базы данных​ файл OlympicSports.xlsx​ Майкрософт в Excel,​ нажмите кнопку​В группе​файл​ как он работает.​ интуитивно более понятные​ подобная возможность. Давайте​ таблицу, включая таблицы​вы закрепите знания,​ данных. Чтобы добавить​

​Summer​Munich​AUT​

​Sports​Метки строк​ Access) в разные​> Книгу Population.xlsx​

​ сводных таблиц, Power​

​Справка​Куда следует поместить данные?​>​Если объект для​ способы добавления.​ разберемся, как это​ данных на веб-сайтах,​ полученные в данном​ таблицу в модель​Salt Lake City​

​GER​​AT​.​, нажмите кнопку​

​области​ Excel​ Pivot и Power​.​выполните одно из​

​Открыть​ вставки копируется из​Автор: Максим Тютюшев​ сделать различными способами.​ документы и любые​ уроке, и узнаете​ данных можно создать​USA​DE​1976​Перейдите к папке, в​

​(Выбрать все)​, настраивая представление данных.​> Книгу DiscImage_table.xlsx​ View.​Дополнительные сведения о сохранении​ следующих действий:​.​ векторного редактора (например​

​объект, который вставляешь в​Наиболее часто применяемый вариант​

​ иные данные, которые​​ о расширении модели​ связь с таблицей,​US​1972​Winter​

​ которой содержатся загруженные​, чтобы снять отметку​ Сводная таблица содержит​

​ Excel​

​Примечание:​ файлов в других​Чтобы поместить данные в​В диалоговом окне​ adobe Illustrator), то​ свободном плаванье в​ добавления – это​ можно вставить в​ данных с использованием​ которая уже находится​

​2002​

​Summer​​Antwerp​ файлы образцов данных,​ со всех выбранных​ четыре области:​Откройте пустую книгу в​

​ В этой статье описаны​ форматах см. в​ выбранное расположение, выберите​Открыть​ вставку лучше делать​

​ документе.​ использование кнопки, которая​ Excel.​ мощной визуальной надстройки​ в модели данных.​

​Winter​Athens​BEL​ и откройте файл​ параметров, а затем​ФИЛЬТРЫ​

​ Excel 2013.​ моделей данных в​ статье Сохранение книги​ вариант​

​выберите пункт​​ как Метафайл Windows,​Игорь токарев​ называется​

​D. Все вышеперечисленное.​ Excel, которая называется​ Чтобы создать связь​Sarajevo​GRC​

​BE​OlympicSports.xlsx​ прокрутите вниз и​

​,​Нажмите кнопку​ Excel 2013. Однако​

​ в другом формате​На существующий лист​Текстовые файлы​

​ так изображение займет​

  1. ​: объекты вставляются поверх​

  2. ​«Вставить лист»​

  3. ​Вопрос 3.​

  4. ​ Power Pivot. Также​

​ одной из таблиц​​YUG​GR​1920​

  • ​.​ выберите пункты Archery,​СТОЛБЦЫ​данные > Получение внешних​

  • ​ же моделированию данных​ файла.​

  • ​.​.​ еще меньший размер,​

  • ​ ячеек, а не​. Это связанно с​Что произойдет в​

support.office.com

4 способа добавления нового листа в Microsoft Excel

Добавление листа в Microsoft Excel

​ вы научитесь вычислять​ имеют столбец уникальным,​YU​2004​Summer​Выберите и скопируйте данные​ Diving, Fencing, Figure​,​ данных > из​ и возможности Power​Если для импорта текстового​Чтобы поместить данные в​Найдите нужный файл и​ потому что объект​ внутри какой либо​ тем, что данный​

​ сводной таблице, если​ столбцы в таблице​

Способы добавления

​ без повторяющиеся значения.​1984 г.​Summer​Antwerp​ на листе​ Skating и Speed​СТРОКИ​ Access​ Pivot, представленные в​

Переключение между листами в Microsoft Excel

​ файла используется мастер​ верхний левый угол​ дважды щелкните его.​ будет импортирован как​ ячейки. если к​ вариант наиболее интуитивно​ изменить порядок полей​ и использовать вычисляемый​

Способ 1: использования кнопки

​ Образец данных в​Winter​Cortina d’Ampezzo​BEL​​Sheet1​​ Skating. Нажмите кнопку​и​. Лента изменяется динамически​ Excel 2013 также​ импорта текста, то​ нового листа, выберите​Если это текстовый файл​ векторный, по крайней​ прмиер применить фильтр​

  1. ​ понятный из всех​ в четырех областях​ столбец, чтобы в​

    Добавление нового листа в Microsoft Excel

  2. ​ таблице​В Excel поместите курсор​ITA​BE​. При выборе ячейки​

Новый лист добавлен в Microsoft Excel

Способ 2: контекстное меню

​ОК​ЗНАЧЕНИЯ​ на основе ширины​

  1. ​ применять для Excel​ на втором этапе​ вариант​ (с расширением ТХТ),​ мере в word​ к таблице с​​ имеющихся. Расположена кнопка​​ полей сводной таблицы?​

    Переход к вставке листа в Microsoft Excel

  2. ​ модель данных можно​Disciplines​ в ячейку А1​IT​1920​​ с данными, например,​​.​​.​​ книги, поэтому может​

Выбор элемента в Microsoft Excel

​ 2016.​ работы мастера разделитель​Новый лист​ запустится мастер импорта​ так было. Правда​

Способ 3: инструмент на ленте

​ картинками то никакая​ добавления над строкой​A. Ничего. После размещения​ было добавить несвязанную​

​импортированы из базы​​ на листе​​1956​Winter​ ячейки А1, можно​​В разделе​​Возможно, придется поэкспериментировать, чтобы​ выглядеть немного отличаются​Вы узнаете, как импортировать​​ текста можно изменить​​.​ текста. Окончив работу​​ при большом увеличении​​ картинка не свернется​

Вставка листа на ленте в Microsoft Excel

​ состояния слева от​ полей в области​

Способ 4: горячие клавиши

​ таблицу.​ данных содержит поле​Hosts​Winter​Montreal​ нажать клавиши Ctrl + A,​​Поля сводной таблицы​​ определить, в какие​ от следующих экранах​ и просматривать данные​ с символа табуляции​Нажмите кнопку​ с мастером, нажмите​ видно небольшие отклонения​

​ она переместится каскадом​​ перечня уже имеющихся​

​ полей сводной таблицы​Повторение изученного материала​ с кодами виды​и вставьте данные.​Rome​CAN​ чтобы выбрать все​перетащите поле Medal​ области следует перетащить​ команд на ленте.​ в Excel, строить​ на другой символ.​ОК​ кнопку​ в векторных кривых,​Зибин​ в документе элементов.​ их порядок изменить​Теперь у вас есть​ спорта, под названием​

​Отформатируйте данные в виде​

lumpics.ru

Как в экселе вставить файл в виде значка, чтобы он был именно внутри определенной ячейки? В ворде делал, а тут объект,…

​ITA​CA​ смежные данные. Закройте​

​ из таблицы​​ поле. Можно перетаскивать​ Первый экран показана​ и совершенствовать модели​ На данном этапе​.​Готово​ возможно это связано​: что за файл?​Для добавления листа просто​

​ нельзя.​​ книга Excel, которая​
​ пункт SportID. Те​ таблицы. Как описано​
​IT​
​1976​ книгу OlympicSports.xlsx.​
​Medals​

Как правильно вставлять рисунок в эксель

​ из таблиц любое​​ лента при самых​ данных с использованием​ также можно изменить​Приложение Excel сохранит внешний​, чтобы завершить операцию​ как-то с разрешением​на вкладке Вставка​ кликаем по указанной​B. Формат сводной таблицы​
​ содержит сводную таблицу​ же коды виды​ выше, для форматирования​1960​Summer​На листе​в область​ количество полей, пока​
​ книги, на втором​
​ Power Pivot, а​ способ обработки последовательных​ диапазон данных в​
​ импорта.​ редактируемого иллюстратором pdf​ см. Вставить объект…​
​ выше кнопке.​ изменится в соответствии​

​ с доступом к​​ спорта присутствуют как​ данных в виде​Summer​Lake Placid​Sports​ЗНАЧЕНИЯ​ представление данных в​ рисунке показано книги,​ также создавать с​

​ разделителей (например, идущих​​ выбранную позицию.​Статья: Мастер импорта текста​ документа (максимум 2400​или​Наименование нового листа тут​ с макетом, но​ данным в нескольких​ поле в Excel​

​ таблицы нажмите клавиши​​Turin​

​CAN​​поместите курсор в​. Поскольку значения должны​ сводной таблице не​ который был изменен​ помощью надстройки Power​ подряд кавычек).​Если Microsoft Excel не​ Дополнительные сведения о​ dpi), я так​Картинка в примечании​ же отображается на​ это не повлияет​ таблицах (некоторые из​ данные, которые мы​ Ctrl + T или выберите​ITA​
​CA​ ячейку А1 и​ быть числовыми, Excel​ примет нужный вид.​ на занимают часть​ View интерактивные отчеты​Дополнительные сведения о разделителях​ преобразует столбец в​ разделители и дополнительные​ и не смог​ к ячейке -​ экране над строкой​ на базовые данные.​ них были импортированы​ импортированы. Создание отношения.​ пункт меню​
​IT​1980​ вставьте данные.​ автоматически изменит поле​ Не бойтесь перетаскивать​ экрана.​ с возможностью публикации,​ и дополнительных параметрах​ необходимый формат, данные​ параметры.​ побороть этот момент.​http://planetaexcel.ru/techniques/9/128/​ состояния, а пользователь​C. Формат сводной таблицы​ отдельно). Вы освоили​Нажмите кнопку​ГЛАВНАЯ > Форматировать как​2006 г.​Winter​Данные по-прежнему выделена нажмите​ Medal на​ поля в любые​Выберите загруженный файл OlympicMedals.accdb​

planetaexcel.ru

​ защиты и предоставления​

I’ve been spending the last few hours trying to figure out how to save a file onto the computer using VBA. The code template below that I found on another forum seems promising, except when I go to the desktop to access it, the .csv file has what looks like the page’s source code instead of the actual file I want. This may be because when I go to the URL, it doesn’t automatically download the file; rather, I am asked to save the file to a certain location (since I don’t know the path name of the uploaded file on the site).
Is there any way to alter this code to accommodate this, or will I have to use a different code entirely?

Sub Test()
Dim FileNum As Long
Dim FileData() As Byte
Dim MyFile As String
Dim WHTTP As Object

On Error Resume Next
    Set WHTTP = CreateObject("WinHTTP.WinHTTPrequest.5")
    If Err.Number <> 0 Then
        Set WHTTP = CreateObject("WinHTTP.WinHTTPrequest.5.1")
    End If
On Error GoTo 0


MyFile = "MY_URL_HERE"

WHTTP.Open "GET", MyFile, False
WHTTP.send
FileData = WHTTP.responseBody
Set WHTTP = Nothing

If Dir("C:UsersBLAHBLAHDesktop", vbDirectory) = Empty Then MkDir "C:UsersBLAHBLAHDesktop"

FileNum = FreeFile
Open "C:UsersBLAHBLAHDesktopmemberdatabase.csv" For Binary Access Write As #FileNum
    Put #FileNum, 1, FileData
Close #FileNum

End Sub

Cross posts:
http://www.ozgrid.com/forum/showthread.php?t=178884
http://www.excelforum.com/excel-programming-vba-macros/925352-vba-go-to-website-and-download-file-from-save-prompt.html

shA.t's user avatar

shA.t

16.4k5 gold badges53 silver badges111 bronze badges

asked May 23, 2013 at 1:35

user2370064's user avatar

I found over the years more ways how to save/download data using vba:

  • The firs option witch I prefer and would recommend is to use the URLDownloadToFile function of the user32 library using the following solution
  • The second one which was also mentioned be yourself. The point here is to use the Microsoft WinHTTP Services (Interop.WinHttp) COM library. In order to achieve this you can also add the Interop.WinHttp reference to your project link. After that you are able to use simpler notation like here link
  • The third option I aware is to ask the browser to save it for us and then using the Save_Over_Existing_Click_Yes function was mentioned by Santosh. In this case we open an Internet Explorer using the COM interface and navigate to the proper site. So we have to add the Microsoft Internet Controls (Interop.SHDocVw) and the Microsoft HTML Object Library (Microsoft.mshtml) references to our project in order to gain intellisense feature of the editor.
    I don’t like this download method because this is a work around by hacking. BUT if your IE session was already established authenticated etc. this gonna work nicely. The save function of the Internet Controls was dropped because of security concern. See for example: link

Newer the less you have to have the correct url to download what you want. If you pick the wrong one you will download something else :)

  • So please try to make sure the the url you use is correct by enter it in a browser. If it opens the right .csv file than your source could work too.
  • Also please try to send some more information: for example the url to the .csv file

Community's user avatar

answered Jan 10, 2016 at 22:16

minus one's user avatar

minus oneminus one

6227 silver badges27 bronze badges

Try below code :

Copied from here (Not tested)

Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long

Declare Function SetForegroundWindow Lib "user32" Alias "SetForegroundWindow" (ByVal hwnd As Long) As Long

Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)

    Private Sub Save_Over_Existing_Click_Yes()

        Dim hWnd As Long
        Dim timeout As Date

        Debug.Print "Save_Over_Existing_Click_Yes"

        'Find the Download complete window, waiting a maximum of 30 seconds for it to appear.  Timeout value is dependent on the
        'size of the download, so make it longer for bigger files

        timeout = Now + TimeValue("00:00:30")
        Do
            hWnd = FindWindow(vbNullString, "Save As")
            DoEvents
            Sleep 200
        Loop Until hWnd Or Now > timeout
        Debug.Print "   Save As window "; Hex(hWnd)

        If hWnd Then
            'Find the child Close button

            hWnd = FindWindowEx(hWnd, 0, "Button", "&Yes")
            Debug.Print "   Yes button "; Hex(hWnd)
        End If

        If hWnd Then

            'Click the Close button

            SetForegroundWindow (hWnd)
            Sleep 600  'this sleep is required and 600 miiliseconds seems to be the minimum that works
            SendMessage hWnd, BM_CLICK, 0, 0
        End If
    End Sub

answered May 23, 2013 at 2:57

Santosh's user avatar

SantoshSantosh

12.1k4 gold badges41 silver badges72 bronze badges

5

Загрузка файлов по URL ссылкам

Загрузка файлов по URL ссылкам – инструмент для импорта файлов с веб ресурсов по URL ссылкам, в выбранную папку на компьютере.

С возможностью их переименования при импорте.

Инструкция по использованию:

  • Диапазон ссылок на файлы  – ссылки на файлы. Должна содержать протокол (например, http://).
  • Выбор папки для файлов – путь к папки для сохранения файлов.

Загрузка файлов по URL ссылке

Загрузка файлов по URL ссылке

Пример использования инструмента загрузки файлов по URL ссылкам

Загрузка файлов по URL

Загрузка файлов по URL

URL файла – кнопка выбора диапазона ячеек с ссылками URL, на файлы для скачивания. Если в соседнем столбце с ссылками указать новые названия файлов, то при загрузке они будут переименованы. Если в соседнем столбце пусто, то название файлов останется без изменения.

Выбор папки для сохранения – кнопка выбора папки, в которую будут загружены файлы.

GBS.Market позволяет выполнить загрузку номенклатуры (справочник товаров) из документа формата Excel в базу данных программы (в каталог товаров). 

Например, это может быть полезным для:

  • первичного заполнения номенклатуры товаров из прайса поставщика
  • переноса данных в GBS.Market из других учетных систем

Важно Если в документе не указаны категории товаров и товары планируется загружать в существующую категорию, то перед загрузкой убедитесь, что у вас созданы необходимые категории.

Поддерживается загрузка из файлов формата:

  • .xls Книга Excel 97-2000
  • .xlsx Книга Excel 2007-2010

Наличие Excel на компьютере необязательно. Файлы для просмотра могут быть открыты в аналогичных программах, например, OpenOffice, LibreOffice.

Полезно Данные могут быть загружены так же из файлов формата CSV, для этого их необходимо открыть в Excel и сохранить в формате «Книга Excel».

Пример документа для загрузки

Возьмем для примера документ формата Excel выгруженный из другой учетной системы. 

Пример прайс листа в Excel
Пример прайс листа в Excel

Определение номеров столбцов

Для того чтобы начать загрузку данных из документа, необходимо определить номера для столбцов, из которых мы будем загружать информацию.

  • Инструкция как определить номера столбцов в Excel

В нашем примере значения получаются следующие:

  • Штрихкод: 1
  • Категория: 2
  • Наименование: 3

Загрузка товаров из Excel

Информация Загрузка товаров из Excel регулируется правом доступа «Создание товаров» и «Просмотр каталога товаров».
Видео-урок по настройке прав доступа.

Загрузить товары из Excel в GBS.Market можно в каталоге товаров. На главной форме откройте Товары – Каталог товаров. 

В каталоге товаров в меню нажмите Файл.

Пункт меню "файл" в каталоге товаро в кассовой программе GBS.Market - автоматизация розничной торговли

И выберите пункт “Загрузить из Excel”

Пункт меню "загрузить из excel" в каталоге товаров в кассовой программе GBS.Market - автоматизация рознчной торговли

Форма загрузки товаров из Excel

Загрузка товаров осуществляется через форму загрузки, показанную на скриншоте ниже.

Форма загрузки товаров в каталог из Excel в кассовой программе GBS.Market - автоматизация торговли

Путь к файлу

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

После нажатия на кнопку откроется окно проводника, в котором необходимо выбрать файл Excel. 

Окно выбора файла для загрузки товаров из Excel в кассовую программу GBS.Market - автоматизация рознчной торговли

Выберите файл и нажмите “Открыть”. После этого в программе отобразиться путь к выбраному файлу. 

Шаблон настроек

Шаблоны настроек позволяют использовать ранее указанные параметры, без необходимости каждый раз заполнять настройки для однотипных документов. 

Заполните номера столбцов и укажите другие опции, а затем сохраните шаблон. При следующей загрузке вы сможете повторно использовать шаблон, чтобы не заполнять такие же значения.

Лист с данными

Документ Excel может содержать один или несколько листов с данными. Выглядит это так:

Выбор листа в документе Excel

В форме загрузки необходимо выбрать тот лист, с которого будет происходить загрузка. Если в документе один лист, то он будет выбран автоматически. 

Выбор листа с данными в документе Excel для загрузки товаров в касссовую программу GBS.Market - автоматизация рознчной торговли

Первая строка

В некоторых случах полезные данные могут начинаться не с первой строки. Чтобы минимизировать количество лишних данных, укажите строку, с которой начинается необходимая информация. 

В нашем примере это строка №2, т.к. в самой первой строке расположены названия столбцов.

Наименование

Укажите номер столбца из которого для товаров будет заполнено наименование. В документе из примера это столбец №3

Строки, в которых для товара нет наименования, будут пропущены. Так же НЕ будут загружены товары, название для которых меньше 3 символов. 

Штрихкод

Для поля “штрихкод” укажите номер столбца. В нашем примере это столбец №1 в документе Excel

Параметр “если пусто, то” подразумевает действия программы в том случае, если значение в ячейке будет пустым. Доступны три варианта:

  • Оставить пустым – штрихкод товара не будет указан
  • Генерировать штрихкод автоматически – программа сгенерирует ШК автоматически. Префикс для таких ШК будет установлен указанный в настройках
  • Пропустить строку – данные из строки не будут использоваться

Категория товара

Для присвоения категории товару можно выбрать несколько вариантов действия. 

Выбор парметров загрузки категорий товаров в кассовую программу GBS.Market - автоматизация торговли

Если в документе категория не указана – можно задать одну категорию на все загружаемые товары. 

В документе, который мы взяли в качестве пример, категории для товаров указаны. В этом случае можно использовать загрузку категории из документа. Столбец с категорией в нашем случае – №2.

Если такой категории в базе нет, то

Здесь необходимо указать логику поведения программы в том случае, если категории с названием из документа не удалось найти в базе данных. 

  • Добавить категорию в базу – будет создана категория с названием из ячейки. 
  • Присвоить категорию – будет присвоена выбранная категория

В нашем случае мы будем создавать категорию, т.к. в базе данных еще нет категорий.

Если пусто, то

В случае, если в ячейке категории пусто, то программа может выполнить следующие действия:

  • Пропустить строку – данные из такой строки будут пропущены
  • Присвоить категорию – будет присвоена выбранная категория

Описание

Кроме основных параметров товара из Excel могут быть загружены в т.ч. такие данные:

  • описание товара
  • дополнительные штрихкоды
  • значения дополнительных полей

Укажите номера столбцов для таких данных, если необходимо. 

Если включить опцию “пропускать, если пусто”, то строка с пустым значением поля будет пропущена. 

  • Видео-урок: как добавить доп. поля для товаров и контактов

Загрузить

Проверьте, что все данные были введены верно и нажмите “Загрузить”, чтобы программа начала обработку документа и загрузку данных в каталог товаров. 

После завершения загрузки программа отобразит уведомление с количеством загруженных позиций. 

Уведомление о количестве товаров, загруженных из Excel в кассовую программу GBS.market - автоматизация розничной торговли

Проверка результата

Если все сделано верно, то в каталоге товаров появятся те записи, которые были в выбранном документе Excel

Каталог товаров в кассовой программе GBS.Market - автоматизация рознчной торговли
Каталог товаров с загруженными данными из Excel

Понравилась статья? Поделить с друзьями:
  • Excel выбрать только повторяющиеся значения
  • Excel вывод уникальных значений в столбце
  • Excel выбрать только не пустые ячейки
  • Excel вывод только результата
  • Excel выбрать текст после символа