Excel открыть файл формулой

Содержание

  1. Excel works!
  2. Excel works!
  3. Как найти только что закрытый файл? Как быстро найти и открыть книгу Excel в т.ч. в VBA?
  4. Как найти и открыть книгу из самой программы? Горячая клавиша
  5. Как найти и открыть недавно закрытую книгу Excel?
  6. Как открыть уже открытые файлы?
  7. Как открыть несколько книг рядом?
  8. Как закрыть или открыть книгу Excel через VBA?
  9. Метод Workbooks.Open (Excel)
  10. Синтаксис
  11. Параметры
  12. Возвращаемое значение
  13. Замечания
  14. Пример
  15. Поддержка и обратная связь

Excel works!

Excel работает за вас

Excel works!

Thanks for Visiting

Как найти только что закрытый файл? Как быстро найти и открыть книгу Excel в т.ч. в VBA?

Многим знакома ситуация, когда вы недавно сохранили книгу и не помните? куда именно. Мне часто помогает возможность просмотра последних открытых книг Excel, для поиска только что сохраненных файлов. В этой статье мы поговорим о способах открыть книгу Excel, в т.ч. при помощи горячей клавиши и даже о соответствующих функциях VBA.

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

Как найти и открыть книгу из самой программы? Горячая клавиша

Зачастую пользователи не знают, что открыть книгу можно и не сворачивая Excel. Перейдите в меню файл (круглая кнопка в левом верхнем углу) — нажмите Открыть и выберите необходимую папку:

Так же работает горячая клавиша Ctrl+O .

Как найти и открыть недавно закрытую книгу Excel?

Если вы забыли куда сохранили только что созданную книгу (у меня так бывает), то найти ее не будет проблемой. Открыть последние используемые файлы можно через панель Последние документы. Опять же откройте меню файл (для версий 2007 и выше) и вы сразу увидите последние используемые вами файлы Excel.

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

При открытии любой книги Excel в разделе Последние документы будет висеть закрепленный таким образом файл.

Список последних файлов будет меняться в зависимости от того, с какими файлами вы работаете. Список файлов состоит 25 элементов, но если зайти «Файл»-«Параметры»-«Дополнительно»-«Экран»-«Число документов в списке последних файлов:», то можно установить свое значение до 50 файлов.

В версиях программы 2013 и выше последние файлы доступны в меню кнопки открыть.

Как открыть уже открытые файлы?

Если у вас множество файлов, то иногда проще их найти при помощи инструментом закладка «Вид» раздел «Окно» инструмент «Перейти в другое окно».

Функция Перейти в другое окно в версии Excel 2016

Как открыть несколько книг рядом?

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

Как закрыть или открыть книгу Excel через VBA?

Если у вас больше 15 файлов, которые надо регулярно открывать один за одним, то удобно будет записать макрос для открытия этих книг. Как записать макрос, читайте в отдельной статье .

Вам необходимы отдельные функции для открытия или закрытия Excel через VBA? Например, вам нужно, чтобы файл закрывался после окончания выполнения макроса, используйте такие команды:

Где C:primer.xlsx путь к файлу

Где ClsBK — переменная, которой присваиваем имя открытой книги, а потом закрываем.

Источник

Метод Workbooks.Open (Excel)

Хотите создавать решения, которые расширяют возможности Office на разнообразных платформах? Ознакомьтесь с новой моделью надстроек Office. Надстройки Office занимают меньше места по сравнению с надстройками и решениями VSTO, и вы можете создавать их, используя практически любую технологию веб-программирования, например HTML5, JavaScript, CSS3 и XML.

Синтаксис

expression. Открыть (FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Разделитель, Editable, Notify, Converter, AddToMru, Local, CorruptLoad)

Выражение Переменная, представляющая объект Workbooks .

Параметры

Имя Обязательный или необязательный Тип данных Описание
FileName Необязательный Variant Строка. Имя файла открываемой книги.
UpdateLinks Необязательный Variant Указывает способ обновления внешних ссылок (ссылок) в файле, например ссылки на диапазон в книге Budget.xls в следующей формуле =SUM([Budget.xls]Annual!C10:C25) . Если этот аргумент опущен, пользователю будет предложено указать, как будут обновляться ссылки. Дополнительные сведения о значениях, используемых этим параметром, см. в разделе Примечания.

Если Microsoft Excel открывает файл в формате WKS, WK1 или WK3 и аргумент UpdateLinks имеет значение 0, диаграммы не создаются; В противном случае Microsoft Excel создает диаграммы из диаграмм, присоединенных к файлу. ReadOnly Необязательно устанавливать. Variant Значение true, чтобы открыть книгу в режиме только для чтения. Format Необязательный Variant Если Microsoft Excel открывает текстовый файл, этот аргумент задает символ разделителя. Если этот аргумент опущен, используется текущий разделитель. Дополнительные сведения о значениях, используемых этим параметром, см. в разделе Примечания. Password Необязательный Variant Строка, содержащая пароль, необходимый для открытия защищенной книги. Если этот аргумент опущен, а для книги требуется пароль, пользователю будет предложено ввести пароль. WriteResPassword Необязательный Variant Строка, содержащая пароль, необходимый для записи в книгу, зарезервированную для записи. Если этот аргумент опущен, а книге требуется пароль, пользователю будет предложено ввести пароль. IgnoreReadOnlyRecommended Необязательный Variant Значение true , чтобы Microsoft Excel не отображал рекомендуемое сообщение только для чтения (если книга была сохранена с параметром «Только для чтения рекомендуется «). Происхождения Необязательный Variant Если файл является текстовым файлом, этот аргумент указывает, где он возник, чтобы кодовые страницы и возврат/строка каретки (CR/LF) можно было правильно сопоставить. Может быть одной из следующих констант XlPlatform : xlMacintosh, xlWindows или xlMSDOS. Если этот аргумент опущен, используется текущая операционная система. Разделитель Необязательный Variant Если файл является текстовым файлом, а аргумент Format равен 6, этот аргумент представляет собой строку, указывающую символ, который будет использоваться в качестве разделителя. Например, используйте Chr(9) для вкладок, «,» для запятых, «;» для точки с запятой или используйте пользовательский символ. Используется только первый символ строки. Изменяемость Необязательный Variant Если файл является надстройкой Microsoft Excel 4.0, этот аргумент имеет значение True , чтобы открыть надстройку, чтобы она была видимым окном. Если этот аргумент имеет значение False или опущен, надстройка открывается как скрытая и не может быть раскрыта. Этот параметр не применяется к надстройкам, созданным в Microsoft Excel 5.0 или более поздней версии.

Если файл является шаблоном Excel, значение True , чтобы открыть указанный шаблон для редактирования. Значение false , чтобы открыть новую книгу на основе указанного шаблона. Значение по умолчанию — False. Уведомить Необязательный Variant Если файл не удается открыть в режиме чтения и записи, этот аргумент имеет значение True , чтобы добавить файл в список уведомлений о файлах. Microsoft Excel откроет файл как доступный только для чтения, опрашивает список уведомлений о файлах, а затем уведомляет пользователя, когда файл станет доступен. Если этот аргумент имеет значение False или опущен, уведомление не запрашивается, и любые попытки открыть недоступный файл завершатся ошибкой. Конвертер Необязательный Variant Индекс первого преобразователя файлов, который следует попробовать при открытии файла. Сначала выполняется попытка указанного преобразователя файлов; Если этот преобразователь не распознает файл, все остальные преобразователи будут испытаны. Индекс преобразователя состоит из номеров строк преобразователей, возвращаемых свойством FileConverters . AddToMru Необязательный Variant Значение true , чтобы добавить эту книгу в список недавно использовавшихся файлов. Значение по умолчанию — False. Local Необязательный Variant Значение True сохраняет файлы на языке Microsoft Excel (включая параметры панели управления). Значение False (по умолчанию) сохраняет файлы на языке Visual Basic для приложений (VBA) (который обычно США английском языке, если проект VBA, из которого выполняется Workbooks.Open, не является старым проектом VBA с международной версией XL5/95). Поврежденная загрузка Необязательный XlCorruptLoad Может быть одной из следующих констант: xlNormalLoad, xlRepairFile и xlExtractData. Поведение по умолчанию, если значение не указано, — xlNormalLoad и не пытается выполнить восстановление при инициировании с помощью OM.

Возвращаемое значение

Объект Workbook , представляющий открытую книгу.

Замечания

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

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

Значение Описание
0 Внешние ссылки (ссылки) не будут обновляться при открытии книги.
3 Внешние ссылки (ссылки) будут обновлены при открытии книги.

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

Значение Разделитель
1 Вкладки
2 Запятыми
3 Пробелы
4 Точка с запятой
5 Отсутствует
6 Пользовательский символ (см. аргумент Разделитель )

Пример

В следующем примере кода открывается книга Analysis.xls, а затем выполняется ее макрос Auto_Open.

Следующий пример кода импортирует лист из другой книги на новый лист в текущей книге. Лист 1 в текущей книге должен содержать имя пути к книге для импорта в ячейку D3, имя файла в ячейке D4 и имя листа в ячейке D5. Импортированный лист вставляется после Листа1 в текущую книгу.

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Источник

 

lenok

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

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

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

 

Johny

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

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

А файл какой? Excel?

There is no knowledge that is not power

 

lenok

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

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

да. в 2003 экселе пытаюсь написать

 

Johny

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

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

#4

23.05.2013 11:40:58

Код
Sub f()

    Dim f As String, folder As String, file_name As String

    'Папка для поиска
    folder = "C:Temp"
    
    'Ячейка с именем файла
    file_name = Range("A1")
    
    f = Dir(folder)
    While Not Len(f) = 0
        If f = file_name Then
            Workbooks.Open folder & f
        End If
        f = Dir()
    Wend

End Sub

There is no knowledge that is not power

 

lenok

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

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

 

lenok

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

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

а как сделать, чтобы выбор варианта ответа при появлении диалогового окна был автоматический, или чтобы оно вообще не вылазило???

 

Johny

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

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

#7

24.05.2013 14:28:11

Код
Application.DisplayAlerts = False
.....
.....
.....
Application.DisplayAlerts = True

Изменено: Johny24.05.2013 14:28:36

There is no knowledge that is not power

 

lenok

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

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

а можно ли сделать, чтобы он искал документ в поддиректориях??? :oops:

 

Johny

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

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

#9

31.05.2013 17:18:58

Ставим галку: Tools -> References -> Microsoft Scripting Runtime

Код
Private file_name As String
Private f As File, fld As folder

Sub SearchAndOpen()

    Dim source_folder As String
    Dim fso As New FileSystemObject

    'Папка для поиска
    source_folder = "C:TempDir"
    
    'Ячейка с именем файла
    file_name = Range("A1")
    
    Call EnumerateFiles(fso.GetFolder(source_folder))

End Sub

Private Sub EnumerateFiles(root_folder As folder)

    For Each f In root_folder.Files
        If f.Name = file_name Then
            Workbooks.Open f.Path
        End If
    Next
    
    For Each fld In root_folder.SubFolders
        Call EnumerateFiles(fld)
    Next
    
End Sub

Изменено: Johny31.05.2013 17:19:49

There is no knowledge that is not power

 

Hugo

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

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

#10

31.05.2013 17:29:09

Я чего-то не понимаю?
Если есть имя файла — то зачем искать? Взяли и открыли. Если ошибка — обработали.
А искать может быть долго — если например файлов тысячи. Да и код с таким поиском больно длинный  — хватает ведь 3-х строк:

Код
Sub f()
    On Error GoTo err_: Workbooks.Open "C:Temp" & Range("A1"): Exit Sub
err_:     MsgBox "Нет такого файла!"
End Sub
 

Юрий М

Модератор

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

Контакты см. в профиле

Я тоже не понимаю смысла в поиске…

 

KuklP

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

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

E-mail и реквизиты в профиле.

Я сам — дурнее всякого примера! …

 

lenok

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

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

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

:oops:

 

Hugo

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

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

Если например ситуации такие:
— есть точный список названий файлов
— в определённом месте (папки/подпапки) регулярно генерятся файлы (известна часть имени, или даже не известна)
— нужно открыть все файлы определённой папки/подпапки
— есть какая-то другая система в этих файлах
и открывать такие файлы предстоит регулярно — то есть смысл один раз и надолго облегчить себе работу макросом.
Если же никакой системы нет — то и макросом открывать файлы нет смысла.
Другое дело, что если обработка этих открываемых файлов предстоит макросом — то можно в этот же макрос вписать диалог выбора этих файлов. Т.е. запустили макрос, в диалоге указали сразу все нужные файлы, получили готовый результат.

 

lenok

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

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

Есть огромный отчет. после обработки макросом, надо, чтобы он брал имя файла из определенной ячейки и открывал фаил с таким именем. информации много, и такой отчет обрабатывается каждый месяц. примерное кол-во файлов на один отчет больше 1000, поэтому, сами понимаете, что открывать каждый, это рутина. таких отчетов за один месяц 30 штук. соответственно, около 30000 существующих файлов…вот как-то так все глобально……

просто открыть, с этим мы разобрались….. но некоторые файлы находятся в поддиректориях, и постоянно происходят какие-то перемещения в этой директории…

 

Hugo

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

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

#16

03.06.2013 11:32:43

В теме

http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=8&TID=25457

есть файл

http://www.planetaexcel.ru/bitrix/components/bitrix/forum.interface/show_file.php?fid=40202&action=download

Там есть такой код:

Код
    For Each aFolder In fso.GetFolder(ThisWorkbook.Path).Files
    
        For Each aFile In aFolder.Files
        
            If fso.GetExtensionName(aFile.Name) Like "xls*" Then
            
                Set wkb = Workbooks.Open(aFile.Path)
                Set wks = wkb.Worksheets(1)
                With wks

и т.д.
Думаю, можно использовать.

 

lenok

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

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

что-то я не могу разобраться совсем :cry:

 

anvg

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

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

Excel 2016, 365

Пробуйте, первый запуск будет долгим. Далее быстрее. Если есть подозрение, что файлы в папке и подпапках изменили положение или имя, то нажать «Обновить». Путь к начальной папке задаётся константой baseFolder в методе InitializeFindю
Успехов.

 

lenok

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

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

#19

04.06.2013 07:29:04

Код
    Const baseFolder = "d:project"

я так понимаю, здесь надо прописать адрес самой папки, это понятно…
а имя файла он где будет брать???

 

anvg

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

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

Excel 2016, 365

#20

04.06.2013 07:50:49

Цитата
а имя файла он где будет брать???

Из активной ячейки (в ней только имя, без расширения)

Изменено: anvg04.06.2013 07:52:42

 

lenok

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

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

#21

04.06.2013 08:07:46

все, поняла….. все работает…спасибо большое….   :D  и еще один вопрос, если можно….:
как это все сделать так, чтобы он был без этих кнопочек, а в таком виде, чтобы автоматически включался???

до этого было прописано так, но он только с одной папки так открывает….
Заранее огромное спасибо вам!!!!!!!!   :oops:  

Код
Sub ARM()
    Dim f As String, folder As String, file_name As String
    'Папка для поиска
    folder = "C:Documents and SettingsmaksРабочий столДокументы"
    'Ячейка с именем файла
    file_name = LCase(Range("D1")) & ".xls"
    f = Dir(folder)
    While Not Len(f) = 0
        If LCase(f) = file_name Then

            Workbooks.Open folder & f
           
 Application.Run "ARM.XLS!ARM6"
            Exit Sub
        End If
        f = Dir()
    Wend

    Application.Run "ARM.XLS!ARM4"
End Sub

Изменено: lenok04.06.2013 23:58:03

 

KuklP

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

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

E-mail и реквизиты в профиле.

#22

04.06.2013 08:24:36

А на кой тут цикл? Если имя файла известно, зачем перебирать все файлы?

Код
Sub ARM()
    Dim folder As String, file_name As String
    'Папка для поиска
    folder = "C:Documents and SettingsmaksРабочий столДокументы"
    'Ячейка с именем файла
    file_name = LCase(Range("D1")) & ".xls"
    If Len(Dir(folder & file_name)) Then
        Workbooks.Open folder & file_name
        Application.Run "ARM.XLS!ARM6"
        Exit Sub
    End If
    Application.Run "ARM.XLS!ARM4"
End Sub

Я сам — дурнее всякого примера! …

 

lenok

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

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

он не открывает тогда файл в поддиректории :(

 

KuklP

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

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

E-mail и реквизиты в профиле.

Ага. А с циклом, следовательно, открывает?

Я сам — дурнее всякого примера! …

 

lenok

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

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

неа…  тоже не открывает….   :| а надо, чтобы открывал… там мне уже без разницы, есть цикл или нет… надо, чтобы он поддиректории просматривал :?:

 

anvg

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

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

Excel 2016, 365

#26

04.06.2013 09:43:56

:?:

Скрытый текст

 

lenok

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

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

 

Sandero

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

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

#28

18.06.2019 13:20:28

Цитата
Hugo написал:
Я чего-то не понимаю?Если есть имя файла — то зачем искать? Взяли и открыли. Если ошибка — обработали.А искать может быть долго — если например файлов тысячи. Да и код с таким поиском больно длинный  — хватает ведь 3-х строк

Добрый день!
Попробовал ваш вариант, работает. Я правда добавил ещё запуск другого макроса по созданию файла с этим именем если его нет (т.е. если не выполнено первое условие)
Эксель при отсутствии файла выдаёт своё собственное сообщение
По нажатии «оК» появляется уже месседж из макроса.
М.б. это связано с версией экселя, у меня 2016, а тут код вроде для 2003 изначально, или это не имеет значения.
Можно ли убрать сообщение самого экселя?
Заранее благодарен!!

Код
Sub SearhFiles() 'Макрос поиска файла с именем и автоматическое его открытие при наличии
On Error GoTo err_: Workbooks.Open "\Server777S" & Range("F2") & ".xls": Exit Sub
err_:     MsgBox "Нет такого файла!"
Application.Run "DOC.xlsm!Upload" 'Запуск макроса по созданию файла с именем
End Sub

При открытии файла Excel с такими формулами на другом компьютере, Excel начинает отображает формулы с указанием пути к файлу надстройки, в таком виде:

= ‘D:ПРОЕКТЫПапказаполнение документовFillDocuments.xla’! Пропись_Число(D12)

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

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

Есть 4 варианта решения проблемы, выберите любой из них.
При постоянном использовании файла с разных компьютеров, рекомендую способ №1.
Если нужно исправить проблему разово (на прежнем компе файл больше не будет использоваться, или надстройка перемещена в другую папку), то выберите вариант 2, 3 или 4.

Не удается получить доступ к файлу excel — CodeRoad

Для настройки резервного копирования конкретного документа в приложении Microsoft Excel жмём «Файл — Сохранить как», затем – «Обзор». Жмём выпадающий список кнопки «Сервис», выбираем «Общие параметры».

специалист

Мнение эксперта

Витальева Анжела, консультант по работе с офисными программами

Со всеми вопросами обращайтесь ко мне!

Задать вопрос эксперту

Онлайн-сервис позволяет ознакомиться с результатами его работы заранее, поэтому нам не нужно будет платить, если восстановление окажется невозможным. Если же вам нужны дополнительные объяснения, обращайтесь ко мне!

Также может помочь отключение автозагрузки приложения, в котором возникает ошибка «Не удается найти (файл)». Открываем Диспетчер задач (в кнопке Пуск), ЛКМ выбираем нужную программу, затем кликаем на нее ПКМ и выбираем “Отключить”.
Файл Word

Не удается найти (файл). Проверьте, правильно ли указано имя, и повторите попытку. Решение

  • отключить автозапуск программы в О ПРОГРАММЕ — ОПЦИИ
  • закрыть Excel (или закрыть надстройку FillDocuments)
  • переместить файл в новое расположение
  • запустить надстройку из нового места
  • включить автозапуск программы в О ПРОГРАММЕ — ОПЦИИ (если это нужно)

скорее всего, путь, к которому вы пытаетесь получить доступ, не существует. Кажется, вы пытаетесь сохранить в относительном месте, и у вас нет расширения файла в этой строке. Если вам нужно использовать относительные пути, вы можете проанализировать путь из ActiveWorkbook.FullName

3 ответа

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

У меня есть приложение create Office Excel на моей машине (XP). и я поместил приложение в windows server 2008, выдав следующую ошибку. Microsoft Office Excel не может получить доступ к файлу ‘serverInput.xls’. Есть несколько возможных причин: Имя файла или путь к нему не существуют. Файл.

2) Если ваша служба настроена без взаимодействия с рабочим столом, то при первом запуске приложения office (например, Excel) заморозьте диалоговое окно учетных данных пользователя — вы не можете видеть это окно в этом режиме — чтобы решить эту проблему, включите взаимодействие с десктопом, переключитесь в окно office после запуска службы и вручную введите учетные данные.

Другая информация там (используйте Google translater для чтения).

Существует подробная статья базы знаний MS под названием » Соображения по автоматизации Office на стороне сервера». Некоторые ключевые выдержки:

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

Но даже когда вы это исправите, другая точка пули убьет вас. Офисные приложения действительно предполагают, что они работают под интерактивным рабочим столом. Мой совет-отказаться от попыток автоматизировать Office из службы. Вместо этого используйте библиотеку, такую как Aspose. Или запустите процесс на интерактивном рабочем столе.

Microsoft Excel не может получить доступ к этому файлу ‘C:xxxtest.xls’. Существует несколько возможных причин: • имя файла или путь не существует. • Файл используется другой программой. • Книга, которую вы пытаетесь сохранить, имеет то же имя, что и открытая в данный момент книга. Я следовал.

наконец, я вызвал файл .bat из действий планировщика задач.

Формулы сбиваются при использовании файла Excel на разных компьютерах | Инструкция по программе FillDocuments

Я также попытался скопировать файл шаблона excel в какой — то временный каталог (где сервис имеет право писать-это проверено) и попытался открыть его оттуда, но безуспешно (хотя этот вариант хорошо работает и в консольном приложении).

специалист

Мнение эксперта

Витальева Анжела, консультант по работе с офисными программами

Со всеми вопросами обращайтесь ко мне!

Задать вопрос эксперту

После этого, на панели инструментов появится новое подменю Дополнительно , в котором нам нужно выбрать пункт Восстановить формулы. Если же вам нужны дополнительные объяснения, обращайтесь ко мне!

Если вдруг вам не удаётся открыть рабочий файл с данными Excel, то какова вероятность успешного восстановления этих данных и что для этого надо сделать? К сожалению, это распространённая ошибка Microsoft Excel. У проблемы есть несколько вариантов решения. Только перепробовав все варианты можно сказать, возможно ли восстановить повреждённый Excel-файл.

Не удаётся открыть файл Excel: как восстановить документ

Также может помочь отключение автозагрузки приложения, в котором возникает ошибка «Не удается найти (файл)». Открываем Диспетчер задач (в кнопке Пуск), ЛКМ выбираем нужную программу, затем кликаем на нее ПКМ и выбираем “Отключить”.

Изменение параметров вычислений Microsoft Excel

Есть небольшая уловка, как можно иногда открыть повреждённый документ Excel. Перед запуском документов приложение Microsoft Excel каждый раз пересчитывает формулы. И вот в редких случаях именно эта особенность приложения мешает открыть файл. Можно попробовать её убрать, ничего сложного в этом нет. Запускаем Microsoft Excel, создаём новый документ, жмём «Файл», заходим в «Параметры».

Указан Несуществующий Файл Или Путь Excel • Использование формулы

Переходим в раздел «Формулы». Здесь нужно в графе «Параметры вычислений» сделать активным пункт «Вручную». Жмём «Ок».

Указан Несуществующий Файл Или Путь Excel • Использование формулы

После чего, не закрывая новый открытый документ, пытаемся открыть нужный нам через «Файл» – «Открыть».

Не вышло? Ничего страшного, с самого начала шансы были невысоки, но попробовать этот способ всё равно стоило. Переходим к профессиональным инструментам для восстановления документов Excel.

специалист

Мнение эксперта

Витальева Анжела, консультант по работе с офисными программами

Со всеми вопросами обращайтесь ко мне!

Задать вопрос эксперту

Утилита развивается и распространяется с начала 2000-х годов, имеет многоязычный интерфейс включая русский , восстанавливает все типы Excel-файлов всех версий, начиная с экзотического сейчас Excel 97. Если же вам нужны дополнительные объяснения, обращайтесь ко мне!

Есть несколько доступных онлайн-сервисов восстановления повреждённых файлов Microsoft Excel. Наиболее удобный и доступный по цене (всего $5 за файл) находится по этому адресу: https://onlinefilerepair.com/ru/excel-repair-online.html.

Vba excel путь к текущему файлу — IT Справочник

Элемент управления под названием Размещение документа недоступен на ленте, но вы можете добавить его на свою панель быстрого доступа (рис. 177.1). К сожалению, вы не можете изменить ширину элемента, но если щелкнете на отображаемом имени, то увидите весь путь.

Excel VBA allows you to open a workbook directly — all you need is the full path of the file, including the file name. However, locating and supplying the file path each time may can be tedious when working with multiple files. In this guide, we’re going to show you how to display File Open dialog in VBA.

Download Workbook

Opening a workbook in VBA

You can open workbooks in VBA using the Workbooks.Open method. This method accepts fifteen optional arguments, including the file name of the workbook you want to open.

Workbooks.Open (FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad)

Supply the file name with its full path to open the workbook.

Workbooks.Open «C:My DocumentsJuneIncome.xlsx»

Or

Workbooks.Open Filename:=»C:My DocumentsJuneIncome.xlsx»

Either line of code can open the workbook in the given path. The opened workbook becomes the active workbook.

Check out other optional arguments to determine how you want to open your workbook, such as in read-only mode, by updating external links, or with a password. Here is the documentation.

Displaying File Open dialog

File Open dialog can return the file name, which is needed for Workbooks.Open, along with its path. To display the File Open dialog, you need to call the Application.GetOpenFilename method.

Application.GetOpenFilename (FileFilter, FilterIndex, Title, ButtonText, MultiSelect)

The Application.GetOpenFilename method can take five optional arguments using which you can select the accepted file types, title of the dialog, or allow selecting multiple files.

To open the dialog in default state (without any filtering and ability to select single file) use it without any arguments. Assign the command to a string variable to set the variable with selected file’s full path.

Dim FullFileName as String
FullFileName = Application.GetOpenFilename

File Filter

On the other hand, applying a filter can be helpful in giving the end user only the files they need. You can use FileFilter to set filters on the Open File dialog box.

The FileFilter argument accepts a special string specifying file filtering criteria. You need to supply file types as friendly name — file type pairs. Each pair, name and type is separated by a comma (,) character.

friendly name 1, file type 1, friendly name 2, file type 2,

If a friendly name covers multiple types, use semicolon characters to split file types:

friendly name 1, file type 1; file type 2; file type …, friendly name 2, file type 4; file type 5; file type …,

Here is an example for displaying the dialog that accepts Excel Files only.

FullFileName = Application.GetOpenFilename(FileFilter:=»Excel Files,*.xl*»)

The following sample demonstrates the scenario at the above screenshot which displays two items as filters:

ExternalFileName = Application.GetOpenFilename(FileFilter:=»Excel Files,*.xl*;*.xm*,Text Files,*.txt;*.csv»)

Multiple Files

Another important feature of the Open File dialog is its ability to allow selecting multiple files. If the MultiSelect argument is set to True, the Open File dialog returns each selected file name in an array. Thus, you need to assign the dialog to a Variant type of variable instead of String.

Dim ExternalFileName As Variant
ExternalFileName = Application.GetOpenFilename(FileFilter:=»Excel Files,*.xl*,Text Files,*.txt;*.csv», MultiSelect:=True)

When you click the Open button, the assigned variable will have an array of filenames with paths. A common scenario is to use a loop to access each file name.

For i = LBound(ExternalFileName) To UBound(ExternalFileName)
    Workbooks.Open ExternalFileName(i)
Next i

Before start, you need to open the VBA (Visual Basic for Applications) window and add a module. A module is where you can write code.

  1. Press Alt + F11 to open the VBA window
  2. In the VBA window, click Insert on the toolbar
  3. Click the Module option

Open a single workbook

The following code displays the Open File dialog for Excel and some text files by allowing to select a single file only. After file name and path are set to the string variable, the code can copy content from the opened file to the existing file. You can simply copy this code and paste your VBA.

How to display File Open dialog in VBA 03 - Single File

Note: GetFilenameFromPath is a custom function which parse the file name from the full path. You can find its code in the example file.

Open multiple workbooks

This time Application.GetOpenFilename method is updated for multiple file selection. You can see the MultiSelect:=True argument in the code below. This is an example where the code was modified to execute same action in a loop.

Sub SingleFile()
    'Turn off screen updates to hide window transactions
    Application.ScreenUpdating = False
    'Ignore alerts such as "large amount of data" message while copying
    Application.DisplayAlerts = False
    
    'Define and set variables
    Dim PrimaryFileName As String, ExternalFileName As String
    PrimaryFileName = ThisWorkbook.Name
    
    'Call Open File dialog
    ExternalFileName = Application.GetOpenFilename(FileFilter:="Excel Files,*.xl*,Text Files,*.txt;*.csv")
    'End the macro if no ile is selected
    If ExternalFileName = False Then
        MsgBox "You are not selected a file"
        Exit Sub
    End If
    
    'Open the specified file and execute your code
    Workbooks.Open ExternalFileName
    Range("A1:G20").Copy 'Copy range from external file
    Windows(PrimaryFileName).Activate 'Activate the primary file
    Sheets.Add After:=ActiveSheet 'Add a new sheet
    ActiveSheet.Paste 'Paste into new sheet
    Workbooks(GetFilenameFromPath(ExternalFileName)).Close SaveChanges:=False 'Close the external file without saving
    
    'Reactivate alerts and screen updates
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub

How to display File Open dialog in VBA 04 - Multiple Files

Метод Workbook. Open (Excel)

‘\———————————————————————————————————-

Excel поддерживает возможность открытия URL-адреса в качестве другой книги Excel с помощью Workbooks.Open method:

Из MSDN:

Sub OpenUSDRatesPage()

Dim objBK As Workbook

Dim objRng As Range

‘Open the page as a workbook.

Set objBK = Workbooks.Open(«http://www.x-rates.com/tables/USD.HTML»)

‘Find the Canadian Dollar cell.

Set objRng = objBK.Worksheets(1).Cells.Find(«Canadian Dollar»)

‘Retrieve the exchange rate.

MsgBox «The CAD/USD exchange rate is » & objRng.Offset(-6, -1).Value

End Sub

‘\—————————————————————————————————————

Метод Workbook. Open (Excel)

  • 18.05.2019

Открывает книгу.

Синтаксис

Expression. Open (открыть ) (Filename, UpdateLinks, ReadOnly, Format, Password, вритереспассворд, игноререадонлирекоммендед, Origin,- Limit, редактируемый, _Notify _, Converter, аддтомру, Local, корруптлоад)

Expression (выражение ) Переменная, представляющая объект книги .

Параметры

Имя

Обязательный или необязательный

Тип данных

Описание

FileName

Необязательный

Variant

Строка. Имя файла книги, которую необходимо открыть.

UpdateLinks

Необязательный

Variant

Задает способ обновления внешних ссылок (ссылок) в файле (например, ссылки на диапазон в книге бюджет. xls в следующей формуле =SUM([Budget.xls]Annual!C10:C25)). Если этот аргумент не указан, пользователю предлагается указать, как будут обновляться ссылки. Для получения дополнительных сведений о значениях, используемых этим параметром, обратитесь к разделу «Примечания».

Если Microsoft Excel открывает файл в формате WKS, WK1 или WK3, а аргумент UpdateLinks имеет значение 0, диаграммы не создаются; в противном случае Microsoft Excel создает диаграммы на основе диаграмм, вложенных в файл.

ReadOnly

Необязательно устанавливать.

Variant

Значение true, чтобы открыть книгу в режиме только для чтения.

Format

Необязательный

Variant

Если Microsoft Excel открывает текстовый файл, этот аргумент задает символ разделителя. Если этот аргумент не указан, используется текущий разделитель. Для получения дополнительных сведений о значениях, используемых этим параметром, обратитесь к разделу «Примечания».

Password

Необязательный

Variant

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

Вритереспассворд

Необязательный

Variant

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

Игноререадонлирекоммендед

Необязательный

Variant

True , чтобы Microsoft Excel не отображал рекомендуемое только для чтения сообщение (рекомендуется ли книга была сохранена с помощью параметра » только для чтения «).

Основания

Необязательный

Variant

Если файл является текстовым, этот аргумент указывает на то, где он был создан, чтобы страницы кода и возврат каретки/перевод строки (CR/LF) могли быть сопоставлены правильно. Может быть одной из следующих констант кслплатформ : кслмаЦинтош, кслвиндовсили кслмсдос. Если этот аргумент не указан, используется текущая операционная система.

Разделитель

Необязательный

Variant

Если файл является текстовым файлом, а аргумент Format имеет значение 6, этот аргумент представляет собой строку, задающую символ, который будет использоваться в качестве разделителя. Например, используйте Chr (9) для табуляции, используйте «,» для запятых, введите «;» для точки с запятой или используйте специальный символ. Используется только первый символ строки.

Изменяемость

Необязательный

Variant

Если файл является надстройкой Microsoft Excel 4,0, этот аргумент имеет значение true , чтобы открыть надстройку, чтобы она стала видимым окном. Если этот аргумент имеет значение false или опущен, надстройка открывается как скрытая и не может быть скрыта. Этот параметр не применяется к надстройкам, созданным в Microsoft Excel 5,0 или более поздней версии.

Если файл является шаблоном Excel,

имеет значение true , чтобы открыть указанный шаблон для редактирования. Значение false , чтобы открыть новую книгу на основе указанного шаблона. Значение по умолчанию — False.

Уведомления

Необязательный

Variant

Если файл не может быть открыт в режиме чтения и записи, этот аргумент имеет значение true , чтобы добавить файл в список уведомлений о файле. Microsoft Excel откроет файл как доступный только для чтения, опросить список уведомлений о файле, а затем уведомить пользователя, когда файл станет доступен. Если этот аргумент имеет значение false или опущено, уведомления не запрашиваются, а все попытки открыть недоступный файл завершатся ошибкой.

Счет

Необязательный

Variant

Индекс первого конвертера файлов, который будет пытаться открыть файл. Заданный конвертер файлов сначала пытается выполнить операцию. Если этот конвертер не распознает файл, попытаются выполнить все другие конвертеры. Индекс преобразователя состоит из номеров строк преобразователей, возвращаемых свойством FileConverters .

Аддтомру

Необязательный

Variant

Значение true , чтобы добавить эту книгу в список недавно использовавшихся файлов. Значение по умолчанию — False.

Local

Необязательный

Variant

True — сохраняет файлы на языке Microsoft Excel (включая параметры панели управления). False (ложь ) (по умолчанию) — сохранение файлов на языке Visual Basic для приложений (VBA) (как правило, это английская версия, если проект VBA, в котором запущены книги, не является устаревшим международным проектом XL5/95 VBA).

Корруптлоад

При необходимости

XlCorruptLoad

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

Возвращаемое значение

Объект книги , представляющий открытую книгу.

Примечания

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

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

Значение

Описание

нуль

Внешние ссылки (ссылки) не будут обновляться при открытии книги.

4

Внешние ссылки (ссылки) будут обновляться при открытии книги.

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

Значение

Разделитель

1,1

Вкладки

2

Запятыми

4

Бель

SP4

Запятой

17:00

Отсутствует

6

Настраиваемый символ (см. аргумент- Разделитель )

Пример

Следующий пример кода открывает книгу Analysis. xls и выполняет свой макрос Ауто_опен.

VB

Workbooks.Open «ANALYSIS.XLS»

ActiveWorkbook.RunAutoMacros xlAutoOpen

В приведенном ниже примере кода показано, как импортировать лист из другой книги на новый лист в текущей книге. Лист1 в текущей книге должен содержать имя пути к книге, которую необходимо импортировать, в ячейке D3, имя файла в ячейке D4, а имя листа в ячейке D5. Импортированный лист вставляется после Лист1 в текущей книге.

VB

Sub ImportWorksheet()

‘ This macro will import a file into this workbook

Sheets(«Sheet1»).Select

PathName = Range(«D3»).Value

Filename = Range(«D4»).Value

TabName = Range(«D5»).Value

ControlFile = ActiveWorkbook.Name

Workbooks.Open Filename:=PathName & Filename

ActiveSheet.Name = TabName

Sheets(TabName).Copy After:=Workbooks(ControlFile).Sheets(1)

Windows(Filename).Activate

ActiveWorkbook.Close SaveChanges:=False

Windows(ControlFile).Activate

End Sub

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Like this post? Please share to your friends:
  • Excel открыть файл для записи
  • Excel открыть файл в режиме чтения
  • Excel открыть файл в одном приложении
  • Excel открыть с помощью не открывает
  • Excel открыть по ссылке в ячейке