Как преодолеть ограничение в 126 символов для путей к файлам в «LoadPicure», которое существует со времени обновления Windows 1903 - PullRequest
1 голос
/ 10 октября 2019

Существующие надстройки VBA начали падать в этой строке, если filepath длиннее 126 символов. Более короткие пути к файлам не подходят, к сожалению.

Set ImageControl.Picture = LoadPicture (FilepathLongerThan126CharsErrors)

Ошибка времени выполнения '75' (ошибка доступа к файлу / пути)

Ошибка не возникает, если путь к файлу сокращендо 125 символов.

Мы пытались установить RegKey HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\LongPathsEnabled на (1), но безрезультатно.

Машины, на которых еще не было обновления Windows 10 1903, похоже, не подвержены уязвимости. До сих пор эта проблема возникает в основном на ноутбуках Surface, но также и на некоторых других ПК.

Ответы [ 2 ]

0 голосов
/ 12 октября 2019

Да, спасибо, Тим и Евгений. Сейчас я работаю с «ShortPath». Однако проблема по-прежнему заключается в том, что поведение этого метода изменилось с обновлением Windows 1903 (с разрешения 260 символов до 126). Там должно быть немало людей, которые ломают голову, почему их коды на первый взгляд не работают.

В любом случае, спасибо. Я поставлю ловушку для ошибок, чтобы пропустить ShortPath, когда это необходимо.

0 голосов
/ 11 октября 2019

Возможные обходные пути перечислены ниже:

  1. Вы можете скопировать существующие изображения в подпапку AppData, чтобы сократить путь.
  2. Использовать ShortPath свойство, которое возвращает короткий путь, используемый программами, которым требуется более раннее соглашение об именах файлов 8.3.
...