Создание новой папки в Sharepoint с использованием VBA - PullRequest
0 голосов
/ 27 ноября 2018

Я пытаюсь автоматически сохранять книги с помощью VBA в папку Sharepoint, которую необходимо создать в первую очередь.Код, который я имею ниже, работает ТОЛЬКО для сохранения файла.Функция MkDir возвращает ошибку времени выполнения 76: путь не найден.Я в недоумении, что вызывает эту ошибку, потому что путь до / txt существует, и у меня есть права на добавление новых папок вручную.Я также попытался заменить текущий путь на \ вместо /, но кроме того, что код значительно замедляется, это не имеет никакого эффекта.Никакие «решения» онлайн не помогли мне.

Есть идеи?

MkDir "https://placeholder.sharepoint.com/teams/Services_NL/Shared Documents/txt"
DateAndTime = Left(Replace(Replace(Replace(Now, " ", "_"), ":", ""), "/", ""), Len(Replace(Replace(Replace(Now, " ", "_"), ":", ""), "/", "")) - 5)
ActiveWorkbook.SaveAs "https://placeholder.sharepoint.com/teams/Services_NL/Shared Documents/Export/" & ExportSheet & DateAndTime & ".txt", FileFormat:=xlTextWindows

Ответы [ 3 ]

0 голосов
/ 25 февраля 2019

У меня та же проблема: я использую Office 365 как из Win 7, так и из Win 10 в Sharepoint 2013. Это может относиться к функции безопасности, которая мешает действиям файлового объекта системы к онлайн-адресам с VBA, в результате чего

ошибка 76 путь не найден;и ошибка 70, в разрешении отказано;а также ошибка 52 неверное имя файла.

У нас есть несколько пользователей Win 10 Office 206 с VBA, макросы, надежные расположения, разрешения пользователей, навигация по проводнику, создание папки пользовательского интерфейса и т. д., все они полностью работоспособны, ив MSWord и SP2013: ошибки 70, 76 и иногда 52 возникают, когда VBA пытается сохранить как папку Sharepoint, к которой у них всех есть беспрепятственный доступ.

Одни и те же пользователи, использующие Office 2010, на одном сервере, используя тот же VBA, не имеют проблем с сохранением объектов, навигацией и т. д. файловой системы

Я обнаружил, что сопоставление и удаление сопоставления пути / диска / папки Sharepoint 2013 в сеансе с VBA, кажется, делаетэто работает.Я попытался это сделать в пятницу, 22 февраля 2019 года. В VBA непосредственно перед навигацией и созданием кода папок я сопоставил библиотеку общих документов со следующим доступным диском (выполните шаги, если они существуют для букв дисков 67–89, затем выполните команду «Сохранить как»., затем удалите сопоставление. Я буду тестировать больше завтра, понедельник, 24 февраля 2019 года.

моя строка пути: \\sp.url@ssl\davwwwroot\site\subsite\shared%20documents и буква диска, как отмечалось, является динамической в ​​зависимости от того, что имеет пользователь.

Поэтому путь в моей строке использует службу WebClient, и это было очень надежно для меня в рамках SP2013 до Office 365 / Office 2016, то есть.

0 голосов
/ 11 июля 2019

WebClient и Office 2016/365 в Windows 10 : я столкнулся с точно таким же набором обстоятельств при переходе с Win 7 + Office 2010 на Win 10 + Office 2016/365.Деятельность FileSystemObject с использованием WebDAV теперь не работает с (ранее полностью функциональным) путем WebDAV \ sitename @ ssl \ davwwwroot \ site.Я получаю сообщение об ошибке 70, 76 при попытке перейти по пути или создать объект файловой системы по этому пути.Сопоставление и снятие сопоставления работает, но ничего себе - это кажется избыточной и неуклюжей процедурой, когда путь уже аутентифицирован, очевидно, за исключением WebClient.Добавление AuthForwardServerList в качестве нового параметра DWORD Multistring в HKLM CurrentControlSet Service WebClient делает системную функцию, но я не могу утверждать, что она всегда будет позволять создавать FileSystemObject, даже если сопоставлен путь;см. https://support.microsoft.com/en-us/help/943280/prompt-for-credentials-when-you-access-webdav-based-fqdn-sites-in-wind Я думаю, что проблема пути - это системная проблема Win 10.

Еще одна проблема - «Отказано в доступе», которая, я думаю, связана с «функцией» безопасности в Office 2016/365.думаю, что он предназначен для контроля активности FileSystemObject в онлайн-расположениях.

0 голосов
/ 28 ноября 2018

Я пробовал все различные комбинации прямой и обратной косой черты, "https://". ... и т. Д. Но, наконец, я получил команду MkDir для работы, используя следующий синтаксис:

MkDir "\\mysite.sharepoint.com\IS\Shared Documents\My Docs\" & "MyNewFolder"

Примечание: замените любой% 20 (используемый Sharepoint для замены пустого пространства в URL) пробелом. Или, что еще лучше, скопируйте адрес папки прямо из панели навигации Windows Explorer, а затем добавьте обратную косую черту в конецit.

Кроме того, я считаю важным сначала проверить работоспособность вашей среды (разрешений или иным образом), открыв папки каталогов Sharepoint в проводнике Windows и перемещаясь по ним в качестве теста. Если вы можете сделать это,тогда команда MKDir должна работать, потому что вы доказали, что каталог файлов доступен.

Значок «Открыть с помощью проводника» находится на вкладке «Библиотека» в Sharepoint (я использую Office 365).что в некоторых средах Sharepoint, с которыми я работал, вкладка «Библиотека» доступна по умолчанию, а в других -скрытый (видны только вкладки «Обзор» и «Страница»).В этом случае я получил вкладку «Библиотека» (и «Файлы»), перейдя в папку Sharepoint, выделив кучу файлов, а затем просто щелкнув правой кнопкой мыши выделенный раздел, не щелкая ни один из параметров всплывающего окна.Странное поведение, но это сработало.

...