Vba excel открыть папку с файлами

Хитрости »

20 Июль 2012              137514 просмотров


Просмотреть все файлы в папке

Иногда необходимо проделать однотипные операции с несколькими файлами, расположенными в одной папке. Можно открывать каждый по очереди:
Workbooks.Open «C:Новая папкаКнига1.xlsx»
Workbooks.Open «C:Новая папкаКнига2.xlsx»
и т.д.
Но если файлов много и все с разными именами, то это не очень практично и совсем лишено гибкости. При помощи Visual Basic for Application можно решить проблему. При этом файлы можно просматривать как в одной папке, так и включая вложенные «подпапки».

  • Все файлы в папке
  • Все файлы включая подпапки
  • Просмотреть все диски

 
Все файлы в папке

Ниже приведен код, который перебирает все файлы в папке, открывает их и на первом листе каждого файла записывает текст

«www.excel-vba.ru»

в ячейку

A1

:

Sub Get_All_File_from_Folder()
    Dim sFolder As String, sFiles As String
    Dim wb As Workbook
    'диалог запроса выбора папки с файлами
    With Application.FileDialog(msoFileDialogFolderPicker)
        If .Show = False Then Exit Sub
        sFolder = .SelectedItems(1)
    End With
    sFolder = sFolder & IIf(Right(sFolder, 1) = Application.PathSeparator, "", Application.PathSeparator)
    'отключаем обновление экрана, чтобы наши действия не мелькали
    Application.ScreenUpdating = False
    sFiles = Dir(sFolder & "*.xls*")
    Do While sFiles <> ""
        'открываем книгу
        Set wb = Application.Workbooks.Open(sFolder & sFiles)
        'действия с файлом
        'Запишем на первый лист книги в ячейку А1 - www.excel-vba.ru
        wb.Sheets(1).Range("A1").Value = "www.excel-vba.ru"
        'Закрываем книгу с сохранением изменений
        wb.Close True 'если поставить False - книга будет закрыта без сохранения
        sFiles = Dir
    Loop
    'возвращаем ранее отключенное обновление экрана
    Application.ScreenUpdating = True
End Sub

sFiles = Dir(sFolder & «*.xls*») — Строка отвечает за тип перебираемых файлов. В примере будут просмотрены любые файлы Excel. Звездочка на конце означает любой символ или набор символов. Т.е. если указать без неё — «*.xls», то будут просмотрены только файлы с расширением xls, а если указать xlsx — то файлы с расширением xlsx и никакие другие.
Если хотите перебрать файлы других форматов, а не Excel, то просто замените «*.xls» на нужное расширение. Например «*.doc». Также, если хотите собрать только файлы с определенными символами/словами в имени, то можно указать так: sFiles = Dir(sFolder & «*отчет*.xls*»). Будут просмотрены все файлы, содержащие в имени слово «отчет»(например «отчет за июнь.xls», «отчет за июль.xls», «сводный отчет.xls» и т.п.).


 
Все файлы включая подпапки

В коде выше есть одна проблема: что если необходимо открыть файлы не только в указанной папке, но и во всех её подпапках? В версиях Excel 2003 и младше это решалось с помощью метода

.FileSearch

, но в старших версиях данный метод по каким-то причинам был заблокирован разработчиками Microsoft. И осталось действовать только через рекурсивный метод перебора папок. Ниже приведен код, который открывает все файлы Excel в указанной папке, включая все подпапки.
Для этого используется встроенная в офис библиотека

File System Object

:

Option Explicit
 
Dim objFSO As Object, objFolder As Object, objFile As Object
 
Sub Get_All_File_from_SubFolders()
    Dim sFolder As String
    With Application.FileDialog(msoFileDialogFolderPicker)
        If .Show = False Then Exit Sub
        sFolder = .SelectedItems(1)
    End With
    sFolder = sFolder & IIf(Right(sFolder, 1) = Application.PathSeparator, "", Application.PathSeparator)
    Application.ScreenUpdating = False
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    GetSubFolders sFolder
    Set objFolder = Nothing
    Set objFSO = Nothing
    Application.ScreenUpdating = True
End Sub
Private Sub GetSubFolders(sPath)
    Dim sPathSeparator As String, sObjName As String
    Dim wb As Workbook
    Set objFolder = objFSO.GetFolder(sPath)
    For Each objFile In objFolder.Files
        If Replace(objFile.Name, objFSO.GetBaseName(objFile), "") Like ".xls*" Then
            'открываем книгу
            Set wb = Application.Workbooks.Open(sPath & objFile.Name)
            'действия с файлом
            'Запишем на первый лист книги в ячейку А1 - www.excel-vba.ru
            wb.Sheets(1).Range("A1").Value = "www.excel-vba.ru"
            wb.Close True 'wb.Close False '- если в коде надо будет закрывать книгу без сохранения
        End If
    Next
    For Each objFolder In objFolder.SubFolders
        GetSubFolders objFolder.Path & Application.PathSeparator
    Next
End Sub

Код делает тоже самое, что и первый, но открывает и изменяет ячейку A1 первого листа для всех файлов Excel в выбранной папке и всех её подпапках(включая все вложенные до последнего уровня).

If Replace(objFile.Name, objFSO.GetBaseName(objFile), "") Like ".xls*" Then

Строка отвечает за тип перебираемых файлов. В примере будут просмотрены любые файлы Excel. Звездочка на конце означает любой символ или набор символов. Т.е. если указать без неё — «*.xls», то будут просмотрены только файлы с расширением xls, а если указать xlsx — то файлы с расширением xlsx и никакие другие.
Если добавить условие: If objFSO.GetBaseName(objFile) Like «*книга*» Then
то будут обработаны файлы, которые в имени содержат слово «книга». При этом регистр букв имеет значение. Т.е. если файл содержит в имени слово «Книга», то он не будет обработан.
Думаю теперь Вы легко сможете проделать необходимые операции с множеством файлов.

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

  Все файлы в папке и подпапках.xls (61,5 KiB, 8 202 скачиваний)

В примере я закомментировал строки, открывающие файл и вносящие изменения в ячейку

A1

и заменил это созданием списка имен всех файлов в папках и подпапках. По окончании работы кода имена всех файлов записываются в столбец «А» нового листа(лист создается автоматически). Сделано для того, чтобы при тестировании кода случайно не повредить информацию в файлах.


 
Просмотреть все файлы на всех дисках

В последнее время участились вопросы как просмотреть еще и все диски на ПК. Ниже выкладываю код, который просматривает все подключенные диски и просматривает все файлы во всех папках дисков:

Sub Get_All_drives()
    Dim objDrives As Object, objDrive As Object
 
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objDrives = objFSO.Drives
    For Each objDrive In objDrives
        If objDrive.IsReady Then
            GetSubFolders objDrive.DriveLetter & ":"
        End If
    Next objDrive
End Sub

Для работы кода необходимо разместить его в том же модуле, что и код просмотра файлов в подпапках. Без него код просмотра дисков работать не будет, т.к. обращается к процедуре GetSubFolders(которая и приведена в коде перебора файлов в подпапках).
Скачать пример:

  Все файлы в папке и подпапках.xls (61,5 KiB, 8 202 скачиваний)

В примере код сканирует все диски и выводит в столбец А нового листа(лист создается автоматически) пути ко всем файлам.

Так же см.:
Как средствами VBA переименовать/переместить/скопировать файл
Как сменить формат сразу для нескольких файлов Excel
Как удалить папку или все файлы из папки через VBA
Собрать и просуммировать данные из разных файлов при помощи PowerQuery


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

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


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



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

 

RAN

Пользователь

Сообщений: 7091
Регистрация: 21.12.2012

#1

17.07.2018 22:51:17

Мяв.
Для «открыть расположение файла» нашел 3 способа

Код
Sub Макрос1()
    Set oShell = CreateObject("Wscript.Shell")
    oShell.Run ("""" & ThisWorkbook.Path & """")
    Set objShellApp = CreateObject("Shell.Application")
    objShellApp.Explore ("" & ThisWorkbook.Path & "")
    objShellApp.Open ("" & ThisWorkbook.Path & "")
End Sub

А как выполнить «показать в папке»? Т.е. открыть папку с выделенным файлом?

PS И, ежели можно, чем отличается «Wscript.Shell» и «Shell.Application» (в пределах данной задачи), и что предпочтительней?

Изменено: RAN17.07.2018 23:04:20

 

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

Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!

 

БМВ

Модератор

Сообщений: 21378
Регистрация: 28.12.2016

Excel 2013, 2016

#3

17.07.2018 23:08:30

Брысь :-)
Что-то вроде этого

Код
Sub Макрос1()
    strPath = Mid(ThisWorkbook.Path, 1, InStrRev(ThisWorkbook.Path, "")) ну и прочие варианты
    Set oShell = CreateObject("Wscript.Shell")
    oShell.Run ("""" & strPath & """")
    
    Set objShellApp = CreateObject("Shell.Application")
    objShellApp.Explore ("" & strPath & "")
    objShellApp.Open ("" & strPath & "")
'+
    objShellApp.ShellExecute strPath
End Sub

по отличию — мне кажется для данного случая отличий мало, но то что есть особенности — точно

Wscript.Shell
Shell.Application

Изменено: БМВ18.07.2018 00:19:48

По вопросам из тем форума, личку не читаю.

 

RAN

Пользователь

Сообщений: 7091
Регистрация: 21.12.2012

Игорь, самоцель — выполнить указанное действие. По аналогии кнопки в Скайпе, или менеджере закачек браузера.
ThisWorkbook.Path — просто для примера.
Но это может быть любой файл. И дальнейшие действия тоже.
А как открыть файл Excel, используя соответствующий диалог, я знаю.

 

RAN

Пользователь

Сообщений: 7091
Регистрация: 21.12.2012

Похоже, в примере не совсем удачно.
Имеем файл
fileJpg = ThisWorkbook.Path & «1.jpg»
Нужно открыть папку, и выделить этот файл

ShellExecute(<File>,<Arguments>,<Directory>,<Operation>,<Show>)
<Operation> — строка (необязательный). Действие («глагол»), которое необходимо выполнить. Если не указан, используется действие по умолчанию.

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

 

Inexsu

Пользователь

Сообщений: 758
Регистрация: 29.06.2017

Привет!
в командной строке:
explorer /select, «z:1.txt»

Сравнение прайсов, таблиц — без настроек

 

RAN

Пользователь

Сообщений: 7091
Регистрация: 21.12.2012

#7

17.07.2018 23:42:50

Цитата
Inexsu написал:
в командной строке:

А вот тоже, но не в командной строке?

 

Inexsu

Пользователь

Сообщений: 758
Регистрация: 29.06.2017

#8

17.07.2018 23:43:50

Цитата
RAN написал:
не в командной строке

В Excel Макрос VBA  ?

Сравнение прайсов, таблиц — без настроек

 

RAN

Пользователь

Сообщений: 7091
Регистрация: 21.12.2012

 

БМВ

Модератор

Сообщений: 21378
Регистрация: 28.12.2016

Excel 2013, 2016

RAN,  При таком раскладе #6 самый простой. Даже сишники таким путем идут.

По вопросам из тем форума, личку не читаю.

 

RAN

Пользователь

Сообщений: 7091
Регистрация: 21.12.2012

Я и не спорю.
Вот только выполнить сие действо из VBA не получается.

 

БМВ

Модератор

Сообщений: 21378
Регистрация: 28.12.2016

Excel 2013, 2016

#12

18.07.2018 00:12:12

не верю
а так?

Код
    Set oShell = CreateObject("Wscript.Shell")
    oShell.Run ("explorer.exe /select,""" & ThisWorkbook.FullName & """")

Ну конечно ждать или не ждать закрытия окна — это тоже надо прописать в параметрах RUN

Изменено: БМВ18.07.2018 00:13:12

По вопросам из тем форума, личку не читаю.

 

bedvit

Пользователь

Сообщений: 2477
Регистрация: 02.04.2015

Виталий

RAN, по-моему можно через shell на vba запустить командную строку. Не за компом, завтра накидаю, если раньше не помогут.

«Бритва Оккама» или «Принцип Калашникова»?

 

БМВ

Модератор

Сообщений: 21378
Регистрация: 28.12.2016

Excel 2013, 2016

bedvit,  ну да
    Shell «explorer.exe /select,»»» & ThisWorkbook.FullName & «»»»
я правда за неуправляемость SHELL VBA недолюбливаю, ни тебе подождать, ни ….

По вопросам из тем форума, личку не читаю.

 

RAN

Пользователь

Сообщений: 7091
Регистрация: 21.12.2012

#15

18.07.2018 00:22:04

Цитата
БМВ написал:
не верю

 

Код
 Set oShell = CreateObject("Wscript.Shell")
    oShell.Run ("explorer /select, ""D:!XXXX1.jpg""")

открывает Избранное

PS пардон, все работает, сам, дурень, создал файл 1, а в макросе написал 01  :cry:
Всем Мурси!

Изменено: RAN18.07.2018 00:31:39

 

БМВ

Модератор

Сообщений: 21378
Регистрация: 28.12.2016

Excel 2013, 2016

#16

18.07.2018 00:25:13

Цитата
RAN написал:
/select, «»

ну вот где в моем коде пробел после запятой? Где?

Изменено: БМВ18.07.2018 00:26:56

По вопросам из тем форума, личку не читаю.

 

bedvit

Пользователь

Сообщений: 2477
Регистрация: 02.04.2015

Виталий

БМВ, VBA shell не пользуюсь, пользуюсь Wscript.Shell. Можно не ждать выполнения, вот и ассинхронность, почти параллельность (из соседней темы).

«Бритва Оккама» или «Принцип Калашникова»?

 

БМВ

Модератор

Сообщений: 21378
Регистрация: 28.12.2016

Excel 2013, 2016

#18

18.07.2018 00:33:48

Цитата
bedvit написал:
вот и ассинхронность

:-) тогда уж .не run a Exec. там совсем ассинхронность :-) с контролем и  ……

По вопросам из тем форума, личку не читаю.

 

Inexsu

Пользователь

Сообщений: 758
Регистрация: 29.06.2017

#19

18.07.2018 00:45:07

Код
Sub test()
    Shell "explorer.exe /select,""" & "z:1.txt" & """", 1
    Stop
    Dim str As String
    str = "TASKKILL /F /FI " & Chr(34) & "WINDOWTITLE eq z:*" & Chr(34)
    Shell "cmd /k " & str
End Sub

Сравнение прайсов, таблиц — без настроек

 

RAN

Пользователь

Сообщений: 7091
Регистрация: 21.12.2012

#20

18.07.2018 00:48:43

В общем, вполне себе получилось

Код
Function ShowInFolder(s As String) As Boolean
    If Dir(s) = "" Then
        ShowInFolder = False
    Else
        CreateObject("Wscript.Shell").Run ("explorer /select, " & s)
        ShowInFolder = True
    End If
End Function

Sub test()
    Dim s$, ss$
    s = "D:!XXXX1.jpg"
    x = ShowInFolder(s)
    ss = "D:!XXXX1.jpg"
    xx = ShowInFolder(ss)
End Sub

Еще раз всем спасибо.

 

БМВ

Модератор

Сообщений: 21378
Регистрация: 28.12.2016

Excel 2013, 2016

RAN,  Андрей, хорошо что все получилось, но:
1. пробел после запятой должен вредить, синтаксис вроде не позволял такое, сейчас проверил, работает, хотя странно.
2. а вот кавычки экранирующие лучше поставить, если появится пробел в полном имени файла, то могут возникнуть проблемы.

Изменено: БМВ18.07.2018 01:02:56

По вопросам из тем форума, личку не читаю.

 

RAN

Пользователь

Сообщений: 7091
Регистрация: 21.12.2012

#22

18.07.2018 01:03:37

Цитата
БМВ написал:
а вот кавычки экранирующие лучше поставить

поподробнее плз…
догадываюсь, но не уверен

 

БМВ

Модератор

Сообщений: 21378
Регистрация: 28.12.2016

Excel 2013, 2016

#12, #14, #19

(«explorer.exe /select,»«» & ThisWorkbook.FullName & «»»»)

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

Изменено: БМВ18.07.2018 01:07:50

По вопросам из тем форума, личку не читаю.

 

RAN

Пользователь

Сообщений: 7091
Регистрация: 21.12.2012

#24

18.07.2018 01:22:00

Миш, разницы не заметил, но замечания принял.

Код
Function ShowInFolder(s As String) As Boolean
    If Len(Dir(s)) Then CreateObject("Wscript.Shell").Run ("explorer /select,""" & s & """"): ShowInFolder = True
End Function
 

Дмитрий(The_Prist) Щербаков

Пользователь

Сообщений: 14182
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

#25

18.07.2018 11:42:29

Цитата
RAN написал:
разницы не заметил

Пока не появилось пробелов и лишних символов в пути и имени файла и код не распространился на другие ПК :)

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

RAN

Пользователь

Сообщений: 7091
Регистрация: 21.12.2012

Э, нет. Вчера специально в имя файла пробелов напихивал.

 

А другие ПК? ;)

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

RAN

Пользователь

Сообщений: 7091
Регистрация: 21.12.2012

Не пробовал.  :)  Возможно, поэтому и не заметил. Но ждать, когда замечу, не стал. Поверил на слово.  :D

 

БМВ

Модератор

Сообщений: 21378
Регистрация: 28.12.2016

Excel 2013, 2016

RAN, Андрей, к стати вспомнил про пока еще действующее ограничением в 260 символов. Как поведет себя конструкция при превышении и что откроет — надо проверять. Может открыть снова избранное :-) По сему лучше сразу проверить и ….. ну тут по задаче.

По вопросам из тем форума, личку не читаю.

 

Андрей VG

Пользователь

Сообщений: 11878
Регистрация: 22.12.2012

Excel 2016, 365

#30

18.07.2018 16:55:27

Доброе время суток.
Запущено как-то всё у Microsoft с Shell.Application. Некоторое приближение к решению задачи. И по идее, ещё нужно искать — по nextWindow.HWND то ли окно мы нашли, в том смысле, что для одной и той же папки может быть открыто несколько экземпляров проводника. Надо брать верхнюю.

Код
Public Sub test()
    Dim pShell As New Shell32.Shell, nextWindow As Object
    Dim nextView As Object, pFolderItem As Object
    pShell.Open "c:windows"
    Application.Wait Time + 1.15740740740741E-05
    For Each nextWindow In pShell.Windows
        Set nextView = nextWindow.Document
        If TypeOf nextView Is Shell32.ShellFolderView Then
            If LCase$(nextView.Folder.Self.Path) = "c:windows" Then
                Set pFolderItem = nextView.Folder.Items.Item("notepad.exe")
                nextView.SelectItem pFolderItem, 1
                Exit For
            End If
        End If
    Next
End Sub

Открыть папку (каталог) в проводнике Windows для просмотра из кода VBA Excel с помощью функции Shell и ключевых слов explorer и cmd. Передача фокуса открытой папке.

Открытие папки в проводнике

Открытие папки (каталога) в проводнике Windows для просмотра с помощью функции Shell и ключевого слова explorer:

Shell «explorer C:UsersPublicТекущая папка», vbNormalFocus

vbNormalFocus означает, что окно Windows Explorer получает фокус и восстанавливает свое исходное положение и размер.

Преимущество способа: имя папки может содержать пробелы.

Недостаток способа: если открываемая папка уже открыта, открывается второй экземпляр, затем третий и т.д.

То же преимущество и тот же недостаток у следующего способа:

ThisWorkbook.FollowHyperlink «C:UsersPublicТекущая папка»

Открытие или передача фокуса

Открытие папки (каталога) в проводнике Windows для просмотра или передача папке фокуса, если она уже открыта, с помощью функции Shell и ключевого слова cmd:

Shell «cmd /C start C:UsersPublic», vbNormalFocus

При реализации этого способа происходит кратковременное отображение на экране окна командной строки (cmd.exe). Если убрать параметр vbNormalFocus, окно командной строки мелькать не будет, но и окно проводника, при повторном его вызове, не получит фокус.

Преимущество способа: если открываемая папка уже открыта, ей передается фокус, а второй экземпляр этой папки не открывается.

Недостаток способа: имя папки не должно содержать пробелы.

От недостатка этого способа можно избавиться с помощью экранирующих кавычек:

Shell «cmd /C start ««»» ««C:UsersPublicТекущая папка»«», vbNormalFocus

Для себя на заметку, какие кавычки что экранируют:

«[cmd /C start ««[неиспользуемый параметр]»» ««[C:UsersPublicТекущая папка]»«]»

Смотрите как открывать из кода VBA Excel файлы других приложений и интернет-сайты.


Уже прогресс !
Вставил в процедуру, пока, код от petr-sev. Открывает, однако, общую папку с Книгой и папкой с документами Word. Эта общая папка не активна. Макрос должен открывать только папку с документами. Необходимо, очевидно, указать путь.

Добавлено через 1 час 18 минут
Указав путь выходим на нужную папку с документами

Visual Basic
1
Shell "explorer.exe " & ThisWorkbook.Path & "Папка с файлами Word"

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

Такой вопрос — какую ещё добавить команду, чтобы папка с документами появлялась активной, тоесть, чтобы были видны непосредственно ярлыки внутренних файлов Word в папке ?

Открыть папку макросом

DEAD_MaRoZ

Дата: Суббота, 09.04.2016, 18:55 |
Сообщение № 1

Группа: Пользователи

Ранг: Новичок

Сообщений: 20


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Добрый вечер! Столкнулся с проблемой.
В конце выполнения модуля у меня стоит уведомление
[vba]

Код

MsgBox «Все созданные документы сохранены!», 64, «Отчет»

[/vba]
После нажатия ОК, нужно, чтоб открылась в проводнике папка, адрес которой забит в переменной путь
[vba]

Код

kontr = ActiveSheet.[b3]
путь = «D:ДокументыОтчеты» & kontr

[/vba]
пробую так
[vba]

Код

Set oShell = CreateObject(«Wscript.Shell»)
  oShell.Run (путь)

[/vba]
не получается, пробую уже бред вводить
[vba]

Код

CreateObject(«Wscript.Shell»).Run «cmd путь exit», 0

[/vba]
Толку 0
Помогите, пожалуйста

 

Ответить

DEAD_MaRoZ

Дата: Суббота, 09.04.2016, 19:00 |
Сообщение № 2

Группа: Пользователи

Ранг: Новичок

Сообщений: 20


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

На всякий случай, только что проверил — переменная «путь» отображается корректно
D:ДокументыОтчетыИванов И.И.

 

Ответить

МВТ

Дата: Суббота, 09.04.2016, 20:23 |
Сообщение № 3

Группа: Проверенные

Ранг: Обитатель

Сообщений: 476


Репутация:

137

±

Замечаний:
0% ±


Excel 2007

Как-то так[vba]

Код

    Dim oShell As Object
    Set oShell = CreateObject(«Shell.Application»)
    oShell.Explore («C:temp»)

[/vba]

 

Ответить

Karataev

Дата: Суббота, 09.04.2016, 20:24 |
Сообщение № 4

Группа: Проверенные

Ранг: Старожил

Сообщений: 1330


Репутация:

528

±

Замечаний:
0% ±


Excel

[vba]

Код

Sub jjj()
    Dim objShellApp As Object
    Set objShellApp = CreateObject(«Shell.Application»)
    objShellApp.Explore («D:ДокументыОтчетыИванов И.И.»)
End Sub

[/vba]


Киви-кошелек: 9166309108

 

Ответить

DEAD_MaRoZ

Дата: Суббота, 09.04.2016, 20:49 |
Сообщение № 5

Группа: Пользователи

Ранг: Новичок

Сообщений: 20


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Karataev, МВТ, спасибо. Все работает.
Удачи

Сообщение отредактировал DEAD_MaRoZСуббота, 09.04.2016, 20:50

 

Ответить

krosav4ig

Дата: Воскресенье, 10.04.2016, 22:14 |
Сообщение № 6

Группа: Друзья

Ранг: Старожил

Сообщений: 2346


Репутация:

989

±

Замечаний:
0% ±


Excel 2007,2010,2013

а можно проще ;) [vba]

Код

CreateObject(«Wscript.Shell»).Run «explorer » & путь

[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

 

Ответить

KuklP

Дата: Понедельник, 11.04.2016, 02:51 |
Сообщение № 7

Группа: Проверенные

Ранг: Старожил

Сообщений: 2369


Репутация:

486

±

Замечаний:
0% ±


2003-2010

Не так уж и проще %) :D
[vba]

Код

CreateObject(«Shell.Application»).Explore «c:temp»

[/vba]


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728

 

Ответить

krosav4ig

Дата: Понедельник, 11.04.2016, 03:39 |
Сообщение № 8

Группа: Друзья

Ранг: Старожил

Сообщений: 2346


Репутация:

989

±

Замечаний:
0% ±


Excel 2007,2010,2013

а так :p [vba]

Код

Shell «explorer » & путь, 1

[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

 

Ответить

Like this post? Please share to your friends:
  • Vba excel открыть объект
  • Vba excel определить текущую ячейку
  • Vba excel определить путь файла
  • Vba excel определить последний заполненный столбец
  • Vba excel определить объединенную ячейку