Проверьте правильность ввода имени и расположения файла excel
Ошибка открытия MS Excel: : Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Excel): Не удалось найти "C:\Users\ХХХ\Desktop\1.xlsx". Проверьте правильность ввода имени и расположения файла. При попытке открытия файла из списка недавно использованных файлов убедитесь, что файл не был переименован, перемещен или удален.ВнешняяОбработка.Импорт.Форма.Форма.Форма(66)>
(13) Отвечая вам, понял, что уже ни в чем не уверен). Провайдер предоставляет мне доступ к облачной 1С через тонкий клиент или через WEB-интерфейс на выбор.
Текущее решение такое:
Исходный файл XLS заменен на CSV, тем более, что в моем случае у него строже структура.
Из сети взят код помещения файла во временное хранилище сервера. Как это работает, не понимаю, но работает).
(1) Права на использование ком объекта и сам ком объект есть?
1С арендована в сервисе или в облаке терминальном?
(1) С ComObject стало как-то сложно на новых платформах, сейчас всех перевожу на такое
пока работает на всех платформах, клиентах, серверах и т.п. Почему-то надо именно обе строки, по одной они не работают ))
(2) (7) Тонкий клиент запускается локально, обработка лежит локально, подгружаемый файл локальный. На удаленном сервере Excel недоступен (пров просит денег), но дело похоже не в этом, т.к. текстовый файл тоже не могу прочесть. См. (4)
(3) Про права не могу пока сказать. Сделал запрос в рарус. 1С арендована на сервисе, как понял - работаю через тонкий клиент.
(4) Похоже, так и есть. Пробую открыть локальный текстовый файл:
Интересно, как читаются файлы выписки из банк-клиента - такой же локальный файл.
В модуле ОбменСБанкомВФормате1С есть код, который приводит к той же ошибке:
Работа в сервисе, и работа в тонком клиенте, и работа в терминальном доступе - это все разные технологии подключения к 1С.
Без понимания по какой технологии Вы работаете можно только угадать почему не запускается. Если работаете в сервисе, то обработка должна быть сертифицирована поддержкой сервиса. Обратитесь к ним и предоставьте обработку.
Если терминальный доступ, или терминальный доступ к облаку, то на сервере терминалов должен быть установлен Эксель.
(13) Отвечая вам, понял, что уже ни в чем не уверен). Провайдер предоставляет мне доступ к облачной 1С через тонкий клиент или через WEB-интерфейс на выбор.
Текущее решение такое:
Исходный файл XLS заменен на CSV, тем более, что в моем случае у него строже структура.
Из сети взят код помещения файла во временное хранилище сервера. Как это работает, не понимаю, но работает).
(14) На всякий случай дополню: если планируется использование в внешней обработке с безопасным режимом, то запись временного файла будет производиться только с разрешением РазрешениеНаИспользованиеКаталогаВременныхФайлов в ф-ции СведенияОВнешнейОбработке.
Правильно! Т.к. СОМ объекты создаются на сервере и файлы ищутся на сервере, а у вас тонкий клиент.
Для того что бы заработало надо посношаться с передачей файлов с тонкого клиента на сервер (для веб версии со спецификой) и грузить там файлы из темпа. А так же на сервере должен стоять MS Excel :)
Есть несколько вариантов:
ФайлИмпорта у вас где находится?
каким образом подключаетесь к арендованной 1С?
Установлен ли Excel на удаленном сервере?
Также могу посоветовать использовать или взять за образец штатную обработку 1С в БП "ЗагрузкаДанныхИзВнешнегоИсточника"
1. Как понимаю, создается временный файл на сервере провайдера.
2. Создается ссылка(?) на импортируемый файл
3. Запись содержимого во временный файл.
4. Обработка временного файла.
Повторить не удалось:
Ошибка создания документов: : Ошибка при вызове метода контекста (ПолучитьИзВременногоХранилища): Ошибка получения значения из временного хранилища: Неправильный путь к файлу 'C:\Users\.ВнешняяОбработка.Импорт.Форма.Форма.Форма(113)>
Не удалось найтиимя файлаC:\ .xls. Проверьте правильность написания имени файла и расположения файла. Если вы пытаетесь открыть файл из списка наиболее часто используемых файлов в меню файл, убедитесь, что файл не был переименован, перемещения и удаления.
Причина
Это может происходить, если действия "Открыть" для этого типа файлов заканчивается на %1.
Если действие открыть для файла данного типа изменено и строка сохранена перед нажатием кнопки ОК, %1 добавляется в параметр реестра.
Если %1 намеренно добавить действия "Открыть" для этого типа файлов, %1 добавляется в параметр реестра. При дальнейшем %1 удаляется из действия "Открыть", параметр реестра остается неизменной и необходимо изменить вручную.
Кроме того эта проблема может возникнуть при изменении вручную сопоставления файлов XLS-файлов или в некоторых случаях при запуске на одном компьютере несколько версий Excel.
Решение
Чтобы устранить эту проблему, установите последние накопительные обновления для Microsoft Office Excel. Последние накопительные обновления можно найти, щелкнув следующую ссылку:
953878 накопительного обновления доступны из группы Microsoft Office для предоставления исправления для проблем, о которых сообщалось в
Временное решение
Важно. Этот раздел, метод или задача содержат действия, содержащие указания по изменению реестра. Однако, при некорректных изменениях реестра могут возникнуть серьезные проблемы. Поэтому выполняйте следующие действия внимательно. Для дополнительной защиты сделайте резервную копию реестра перед внесением изменений. В таком случае при возникновении неполадок можно будет восстановить реестр. Чтобы узнать дополнительные сведения о резервном копировании и восстановлении реестра, щелкните следующий номер статьи базы знаний Майкрософт:
322756 как резервное копирование и восстановление реестра Windows
Чтобы обойти эту проблему, выполните следующие действия.
В поле Открыть введите команду regedit и нажмите кнопку ОК.
Откройте следующий раздел реестра:
В области справа выберите (по умолчанию).
В меню Правка выберите команду Изменить.
Удалите %1 из конца строки значение таким образом, чтобы строка данных выглядела следующим образом:
«C:\PROGRAM OFFICE\OFFICE\EXCEL. EXE" /e (включая кавычки)
Дополнительные сведения
Примечание. В некоторых версиях Windows, описанные действия могут существенно отличаться от того, что написано в данной статье. Если это так, обратитесь к документации продукта для выполнения этих действий.
Чтобы изменить действие открыть тип файла, выполните следующие действия.
Запустите проводник Microsoft Windows.
В меню Сервис выберите Свойства папки
Перейдите на вкладку Типы файлов .
В области действийнажмите кнопку Открытьи нажмите кнопку Изменить.
Внесите необходимые изменения и нажмите кнопку ОК.
Примечание: Для дополнительных типов файлов, вам может понадобиться просмотреть эти разделы: HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open\commandHKEY_CLASSES_ROOT\Excel.SheetBinaryMacroEnabled.12\shell\Open\commandHKEY_CLASSES_ROOT\ Excel.SheetMacroEnabled.12\shell\Open\commandHKEY_CLASSES_ROOT\Excel.Template.8\shell\Open\command HKEY_CLASSES_ROOT\Excel.TemplateMacroEnabled\shell\Open\commandHKEY_CLASSES_ROOT\Excel.Template\shell\Open\ команда
Здравствуйте! На своём рабочем компе хотела открыть файл exel, простая таблица, не привязанная к другим. Выдал ошибку: Не удалось найти ..( путь).. Проверьте правильность ввода имени и расположения файла.
При попытке открытия файла из списка недавно использованных файлов убедитесь, что файл не был переименован, перемещен или удален.
В пути была указана ссылка на рабочий стол, где файл и хранился. Открывать пыталась и напрямую с раб.стола и через недавно использованные. Смотрела в списке последних измененный файлов на компе (думала может переименовали), но этого файла нет. Сейчас восстанавливаю удаленные файлы из корзины на всякий случай.
Вопрос 1: Возможно ли найти этот файл? И как это сделать? Файл важный, в нем информация по отчетности.
Самое интересное, что последнее время изменения файла было уже ПОСЛЕ моего ухода с работы, в офисе оставались другие сотрудники, мой комп находится в общем доступе.
Вопрос 2: Каким образом могло произойти изменение файла? Это сделал кто-то или произошел сбой в программе? Хотелось бы знать - защищать ли свои файлы от людей или от самой себя.
Здравствуйте! На своём рабочем компе хотела открыть файл exel, простая таблица, не привязанная к другим. Выдал ошибку: Не удалось найти ..( путь).. Проверьте правильность ввода имени и расположения файла.
При попытке открытия файла из списка недавно использованных файлов убедитесь, что файл не был переименован, перемещен или удален.
В пути была указана ссылка на рабочий стол, где файл и хранился. Открывать пыталась и напрямую с раб.стола и через недавно использованные. Смотрела в списке последних измененный файлов на компе (думала может переименовали), но этого файла нет. Сейчас восстанавливаю удаленные файлы из корзины на всякий случай.
Вопрос 1: Возможно ли найти этот файл? И как это сделать? Файл важный, в нем информация по отчетности.
Самое интересное, что последнее время изменения файла было уже ПОСЛЕ моего ухода с работы, в офисе оставались другие сотрудники, мой комп находится в общем доступе.
Вопрос 2: Каким образом могло произойти изменение файла? Это сделал кто-то или произошел сбой в программе? Хотелось бы знать - защищать ли свои файлы от людей или от самой себя. Sss
При попытке открытия файла из списка недавно использованных файлов убедитесь, что файл не был переименован, перемещен или удален.
В пути была указана ссылка на рабочий стол, где файл и хранился. Открывать пыталась и напрямую с раб.стола и через недавно использованные. Смотрела в списке последних измененный файлов на компе (думала может переименовали), но этого файла нет. Сейчас восстанавливаю удаленные файлы из корзины на всякий случай.
Вопрос 1: Возможно ли найти этот файл? И как это сделать? Файл важный, в нем информация по отчетности.
Самое интересное, что последнее время изменения файла было уже ПОСЛЕ моего ухода с работы, в офисе оставались другие сотрудники, мой комп находится в общем доступе.
Вопрос 2: Каким образом могло произойти изменение файла? Это сделал кто-то или произошел сбой в программе? Хотелось бы знать - защищать ли свои файлы от людей или от самой себя. Автор - Sss
Дата добавления - 21.01.2014 в 10:31
Microsoft Excel является основным компонентом Microsoft Office Suite и действует как официальное программное обеспечение для работы с электронными таблицами.
Из-за этого нет ни одного человека, который бы не использовал или хотя бы слышал о Microsoft Excel. Однако, в конце концов, это всего лишь программа, и ни одна программа не застрахована от случайных проблем и ошибок.
Что я могу сделать, если Microsoft Excel не может получить доступ к какому-либо файлу?
1 Убедитесь, что все внешние ссылки в книге действительны.
Эта ошибка обычно возникает, когда вы нажимаете внешнюю ссылку в книге, но имя или путь к файлу связанного элемента были изменены.
- Убедитесь, что связанные элементы не перемещены и не переименованы.
- Убедитесь, что связанные элементы обновлены в книге, если они изменены.
- Удалите связанные элементы, если они больше не могут быть найдены
Поиск всех внешних ссылок в книге может быть непростой задачей, особенно если книга занимает несколько страниц и сотни ячеек.
Из-за этого одно простое решение для их поиска – найти ссылки, используемые в формулах:
Это объединит все внешние ссылки на другие книги, и отсюда вы сможете обновить их все.
2 Установите последние обновления для Microsoft Excel
- Откройте Microsoft Excel
- Нажмите на файл
- Нажмите Аккаунт
- Выберите параметры обновления
- Выберите Обновить сейчас
- Пусть обновления идут своим чередом
3 Отключить надстройки
- Откройте лист Excel
- Перейдите в меню “Файл”.
- Нажмите на Параметры
- Нажмите на надстройки
- Выберите Excel надстройки и нажмите Go кнопку
- Снимите все флажки и нажмите ОК.
Знаете ли вы о других решениях этой распространенной проблемы Microsoft Excel? Дайте нам знать в комментариях ниже!
Добрый день!
Мне надо отобразить в ячейке имя того кем был открыт EXCEL файл.
В интернете нашёл шикарный вариант - ТУТ
пихаем это в Книгу
Private Sub Workbook_Open()
'ведение лога
UserLog
End Sub
непосредственно код в модуле
Private Declare Function GetComputerNameA Lib "kernel32" (ByVal lpBuffer As String, nSize As Long) As Long
Private Declare Function WNetGetUserA Lib "mpr.dll" (ByVal lpName As String, ByVal lpUserName As String, lpnLength As Long) As Long
'сетевое имя компьютера
Function GetComputerName() As String
Dim sBuffer As String * 255
If GetComputerNameA(sBuffer, 255&) <> 0 Then
GetComputerName = Left$(sBuffer, InStr(sBuffer, vbNullChar) - 1)
End If
End Function
'имя пользователя
Function GetUserName() As String
Dim sUserNameBuff As String * 255
sUserNameBuff = Space(255)
Call WNetGetUserA(vbNullString, sUserNameBuff, 255&)
GetUserName = Left$(sUserNameBuff, InStr(sUserNameBuff, vbNullChar) - 1)
End Function
'запись в лог-файл
Sub UserLog()
Dim nLogtxt As String
nLogtxt = "G:\PROJECTS\LogData" & "\" & Replace(ThisWorkbook.Name, ".xls", ".txt")
Как сделать, что бы данная информация писалась не в лог, а отображалась в ячейке?
Спасибо
Добрый день!
Мне надо отобразить в ячейке имя того кем был открыт EXCEL файл.
В интернете нашёл шикарный вариант - ТУТ
пихаем это в Книгу
Private Sub Workbook_Open()
'ведение лога
UserLog
End Sub
непосредственно код в модуле
Private Declare Function GetComputerNameA Lib "kernel32" (ByVal lpBuffer As String, nSize As Long) As Long
Private Declare Function WNetGetUserA Lib "mpr.dll" (ByVal lpName As String, ByVal lpUserName As String, lpnLength As Long) As Long
'сетевое имя компьютера
Function GetComputerName() As String
Dim sBuffer As String * 255
If GetComputerNameA(sBuffer, 255&) <> 0 Then
GetComputerName = Left$(sBuffer, InStr(sBuffer, vbNullChar) - 1)
End If
End Function
'имя пользователя
Function GetUserName() As String
Dim sUserNameBuff As String * 255
sUserNameBuff = Space(255)
Call WNetGetUserA(vbNullString, sUserNameBuff, 255&)
GetUserName = Left$(sUserNameBuff, InStr(sUserNameBuff, vbNullChar) - 1)
End Function
'запись в лог-файл
Sub UserLog()
Dim nLogtxt As String
nLogtxt = "G:\PROJECTS\LogData" & "\" & Replace(ThisWorkbook.Name, ".xls", ".txt")
Как сделать, что бы данная информация писалась не в лог, а отображалась в ячейке?
Спасибо trn09
пихаем это в Книгу
Private Sub Workbook_Open()
'ведение лога
UserLog
End Sub
непосредственно код в модуле
Private Declare Function GetComputerNameA Lib "kernel32" (ByVal lpBuffer As String, nSize As Long) As Long
Private Declare Function WNetGetUserA Lib "mpr.dll" (ByVal lpName As String, ByVal lpUserName As String, lpnLength As Long) As Long
'сетевое имя компьютера
Function GetComputerName() As String
Dim sBuffer As String * 255
If GetComputerNameA(sBuffer, 255&) <> 0 Then
GetComputerName = Left$(sBuffer, InStr(sBuffer, vbNullChar) - 1)
End If
End Function
'имя пользователя
Function GetUserName() As String
Dim sUserNameBuff As String * 255
sUserNameBuff = Space(255)
Call WNetGetUserA(vbNullString, sUserNameBuff, 255&)
GetUserName = Left$(sUserNameBuff, InStr(sUserNameBuff, vbNullChar) - 1)
End Function
'запись в лог-файл
Sub UserLog()
Dim nLogtxt As String
nLogtxt = "G:\PROJECTS\LogData" & "\" & Replace(ThisWorkbook.Name, ".xls", ".txt")
Как сделать, что бы данная информация писалась не в лог, а отображалась в ячейке?
Спасибо Автор - trn09
Дата добавления - 23.05.2015 в 13:24
Читайте также: