Страницы: 1 2 След.
RSS
Как открыть файл xls с длинным путем - не сокращая путь
 
Здравствуйте, специалисты по программе эксель.
У меня возникла небольшая проблема.

Когда открываю файлы с длинными путями (сократить которые нельзя) - то эксель выдает вот такую ошибку:
"К сожалению нам не удалось найти файл "длинный-длинный путь" возможно он был перемещен, переименован или удален"

Такое предупреждение появляется - если путь к файлу очень длинный.
Как открыть этот файл все равно, не взирая на длинный путь ?
 
Не проверял, но попробуйте использовать переменную в строке открытия.
 
Я думаю, что Вы сумеете добиться нужного результата, если скопируете (и при необходимости переименуете документ) в новую папку - откроете и отредактируете его там - а затем скопируете (и переименуете) обратно.
В принципе, я почти уверен в том, что подобную процедуру можно автоматизировать при помощи VBA...
 
Юрий М, а как это сделать ?
В смысле чтобы при открытии - не появлялось этого предупреждения.
Изменено: ttt480 - 10.09.2019 12:47:22
 
Цитата
ttt480 написал:
Как открыть этот файл все равно, не взирая на длинный путь ?
Лучше этого не допускать но все случается и путь вдруг становится длинным , это может при перемещении папок или файлов случится, или при переименовании их.

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

Что делать, если файл есть, а его не открыть а надо?
Самый правильнй, это сокращать наименование папок на верхних уровнях, встречал как в папках названия типа . "Заседаник комиссии … от дата по поводу решения …. о ….. …." и внутрях файл "Решение …... " и ноль инфы. При чем именно папок и начинать надо с уровня высокого, иногда и до файла то не дойти не говоря уже о переименовать сам файл.

вариант 1 файлы лежат локально и хорошо структурированы и, как результат, путь длинный
1. иногда помогают имена в старом стиле 8.3  ( dir c ключом /x) покажет имена
2. можно на середину длинного пути с:\1\2\3\4\5\6\7\8\9\File.xls сделать "виртуальный диск" subst t: c:\1\2\3\4\5\6  и открыть файл T:\7\8\9\File.xls
после удаляем ненужное SUBST t: /D

вариант 2 файлы лежат на сети и хорошо структурированы и, как результат, путь длинный
1. иногда помогают имена в старом стиле 8.3  ( dir c ключом /x) покажет имена, но на хранилище должна быть включена поддержка имен 8.3. современные тенденции ведут к отключению этого по умолчанию
2. можно на середину длинного пути
2.1 обращение идет по сетевому имени \\server\share\1\2\3\4\5\6\7\8\9\File.xls .  Делаем снова "виртуальный" диск мапируя net use t: \\server\share\1\2\3\4\5\6 открыть файл T:\7\8\9\File.xls
2.2 сетевой диск замапирован Z:\1\2\3\4\5\6\7\8\9\File.xls .Если админы не постарались и не закрыли видимость корня, то или в эксплорере или через командную строку net use узнаем путь \\server\share соотвтевенно, это означает что файлы лежат на \\server\share\1\2\3\4\5\6\7\8\9\File.xls . далее как пунктом выше

после удаляем ненужное net use t: /D

Ну и варианты связанные с переносом в другое место , где путь короче.
1. сработает перенос на несколько уровней папок выше , тем самым сократится путь, но это сработает только при переносе и в пределах одного диска. Ну и в случае с сетевыми дисками надо не забывать о наследовании прав доступа которые могут быть нарушены при переносе.
2. утилиты подобные ROBCOPY обходят ограничение системы и могут скопировать или перенести что угодно и куда угодно ( при этом с учетом прав доступа)
3. Как не парадоксально, но архиваторы тоже умеют работать с длиннющими путями и можно забэкапить часть ветки а потом раскрыть её уже в другом месте.
По вопросам из тем форума, личку не читаю.
 
Я не знаю, поможет или нет, но попробуйте в строке открытия файла вместо явного пути подставить переменную, которой предварительно присвойте значение.
 
БМВ, я не совсем понял - то что вы написали - это надо где-то в настройках прописать ?

Я запускаю файлы - просто - дважды кликая по ним мышкой, а там эксель уже сам по-умолчанию открывает.
Вот это вот :
Цитата
БМВ написал:
2. можно на середину длинного пути с:\1\2\3\4\5\6\7\8\9\File.xls сделать "виртуальный диск" subst t: c:\1\2\3\4\5\6  и открыть файл T:\7\8\9\File.xls
это какой-то скрипт должен открывать ?
Где его прописать ?
 
Цитата
ttt480 написал:
Я запускаю файлы - просто - дважды кликая по ним мышкой
Не использую Excel вы с файлом может что-либо делать? Копировать, переименовывать?
По вопросам из тем форума, личку не читаю.
 
А почему бы просто не переместить файл ближе к корню, чтобы сократить путь?
 
Цитата
БМВ написал:
вы с файлом может что-либо делать? Копировать, переименовывать?
Ну хотелось бы, но я так понимаю что это сложно.
Хотя бы просто открыть, посмотреть что там и закрыть.

Я сейчас знаете - просто щелкаю в тотал коммандере - Ctrl+Q  и он в окошечке приблизительно так, в общих чертах - показывает что там в файле находится (не жалуясь, кстати - что путь слишком длинный).
Но это неудобно, поскольку нужно посмотреть именно на работу макроса.

Так что - хотя бы просто открывать эти файлы мышкой (чтобы посмотреть и закрыть).
 
ttt480, если у вас есть доступ к самому файлу, то просто скопируйте его на рабочий стол (частный случай совета от Юрия М) и откройте оттуда — всё будет работать
БМВ показал вам продвинутый путь программного обхода ограничения, но, судя по всему, это вам не нужно (зато я к себе в закладки сохранил  :) )
Изменено: Jack Famous - 10.09.2019 15:00:28
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Если просто, без напряга - это похоже на желание запихнуть металлический шар 30 см в отверстие в металле с диаметром 10 см :)
 
Цитата
vikttur написал:
запихнуть металлический шар 30 см в отверстие в металле с диаметром 10 см
Ртуть металл? ))
 
Цитата
Юрий М написал:
А почему бы просто не переместить файл ближе к корню,
вот я и пытаюсь добиться от ТС, есть ли к файлу доступ, не к самой директории где он находится (листинг то выдаст, но 261го символа хватит чтоб ничего не дать с файлом сделать ничего, ни скопировать ни переименовать ни переместить), а именно к файлу.
По вопросам из тем форума, личку не читаю.
 
Цитата
Jack Famous написал:
если у вас есть доступ к самому файлу, то просто скопируйте его на рабочий стол
Какому файлу ?
Файлов около двух тысяч.
 
Цитата
Юрий М написал: А почему бы просто не переместить файл ближе к корню, чтобы сократить путь?
Нельзя. Речь идет о строгой иерархии. Папки в этой иерархии - и так имеют короткие названия (уже короче некуда, дальше только аббревиатуры).

Вы сейчас предлагаете - нарушить иерархию папок, свалить несколько тысяч файлов -  в одну кучу - в папку "C:\1\" и когда возникнет потребность найти нужный файл - долгое время в этой папке данный файл искать.
 
Вам еще предлагали сократить имена папок и файлов
 
vikttur, ну я же написал, что имена папок и так короткие - в одно слово. Если и их ужимать - то ничего не понятно будет.
А файлы - вообще короткие в пару цифр.
 
Цитата
ttt480: что имена папок и так короткие
тогда папок у вас уж очень дохрена. Серьёзно — сталкивался с подобной проблемой (длинный путь) всего пару раз и то из-за того, что у PDFок были длинные сгенерированные имена. Сокращайте количество папок что-ли, обобщайте. Вангую, даже, если решите эту проблему каким-то костылём, то потом поимеете её (или наоборот) с новой силой  ;)
Цитата
ttt480: Вы сейчас предлагаете
вариантов систематизации файлов немало. Вплоть до того, чтобы названия файлов были уникальными ключами, всё хранилось в ОДНОЙ папке, а взаимосвязи и структура велась в том же Excel…
БМВ, вам предложил ОЧЕНЬ МНОГО вариантов решения, но судя по вашим вопросам, сами вы их не реализуете, а значит путь вам в платную ветку (скорее всего)

Ну а в общем, любое решение, скорее всего будет сводиться к сокращению пути (так или иначе). Скопировать в более верхнеуровневую папку, сделать, что нужно и заменить в источнике лично мне кажется одним из самых простых
Изменено: Jack Famous - 10.09.2019 16:17:52
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Давайте по порядку.
1. Интересующие Вас файлы находятся на Вашем локальном диске или в сети?
Владимир
 
Цитата
sokol92 написал:
1. Интересующие Вас файлы находятся на Вашем локальном диске или в сети?
На локальном диске.
 
ttt480,  Приведите пример полного пути к файлу что не открывается. Кстати Total Comander тоже с длинными путями рабатает, а вот побычный Explorer или Проводник, нет а все MS приложение работает также как он.
Изменено: БМВ - 10.09.2019 16:29:00
По вопросам из тем форума, личку не читаю.
 
Идем по варианту 1 пункту 2 от Михаила. В командной строке (или в Тотале) набираем:

Subst E: "C:\Папка 1\Папка 2\Папка 3"

где E: - не задействованная у Вас буква для драйва, далее указан промежуточный путь в файлам.
Пробуем использовать E как стартовый драйв для открытия файлов.
Изменено: sokol92 - 10.09.2019 16:38:18
Владимир
 
Цитата
sokol92: набираем
Цитата
ttt480: Файлов около двух тысяч
ой устанете  :D
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Цитата
БМВ написал:
Приведите пример полного пути к файлу что не открывается.
Смысл?
Каждая папка - идет в одно небольшое слово.
Цитата
БМВ написал:
Кстати Total Comander тоже с длинными путями рабатает
При чем тут Total, я спрашивал как щелчком мышки - открыть файл в экселе.
 
Цитата
sokol92 написал:
Идем по варианту 1 пункту 2 от Михаила. В командной строке (или в Тотале) набираем:
А щелчок мышки по файлу - тут где ?
Я же говорю, что открываю файлы xls - щелчком мышки - программой по-умолчанию.
 
Цитата
ttt480 написал:
А щелчок мышки по файлу - тут где ?
Будет дальше. Вы сделали, что sokol92, писал?
 
Цитата
bigorq написал:
Будет дальше. Вы сделали, что  sokol92 , писал?
Это вы про это ?
Subst E: "C:\Папка 1\Папка 2\Папка 3"

Но там же папок неисчислимое множество.
Это это только для одного-единственного файла xls ?
 
У Вас неисчислимое множество папок начинается прямо от корневого каталога или от определенного уровня иерархии файловой системы?
Владимир
 
sokol92,

Я это набрал в командной строке тотал коммандера
Subst E: "C:\Папка 1\Папка 2\Папка 3"

А дальше что делать ?
Изменено: ttt480 - 10.09.2019 17:50:48
Страницы: 1 2 След.
Наверх