VBA, чтобы открыть папку Sharepoint в Windows Explorer, а не Internet Explorer - PullRequest
0 голосов
/ 16 октября 2018

Я пытаюсь создать в MS Access кнопку для открытия папки Sharepoint в проводнике Windows, а не в Internet Explorer.У меня это сработало на мгновение, и я не знаю, что сломалось.Это в настоящее время открывает папку sharepoint в Internet Explorer.

Dim Foldername As String
Foldername = "http://vaww.visn21.portal.va.gov/sanfrancisco/education/EDADMIN/Service Timekeeping Records\"
Shell "C:\WINDOWS\explorer.exe """ & Foldername & "", vbNormalFocus

Редактировать: я также пробовал этот код, тот же эффект, когда он открывает его в Internet Explorer, а не Windows Explorer.

Dim path As String
path = "http://vaww.visn21.portal.va.gov/sanfrancisco/education/EDADMIN/Service Timekeeping Records\"
Shell "cmd /C start """" /max """ & path & """", vbHide
End Sub

Редактировать 2: пробовал этот код, все еще просто открывает Internet Explorer вместо Windows Explorer

Call Shell("explorer """"" & "http://vaww.visn21.portal.va.gov/sanfrancisco/education/EDADMIN/Service Timekeeping Records\" & """""", vbNormalFocus)

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

Ответы [ 2 ]

0 голосов
/ 15 мая 2019

Следите за этим протоколом http, он вас убьет каждый раз!

Никто больше не интересуется этой темой, вероятно, по самым лучшим причинам.Вы должны - вежливо поставить - эксцентрик , чтобы попытаться открыть адрес internet с помощью утилиты локального диска.

Проводник Windows разработаноткрывать только локальные папки.Windows разработана на основе серии протоколов , главным образом протокола http: , но также и файла : .Есть и другие, но для текущей темы это две важные.

Протокол http: предназначен для открытия Internet Explorer и файла Протокол предназначен для открытия Windows Explorer.Существует целая куча ключей реестра, которые управляют этим поведением.

В текущем вопросе автор указал http: как часть целевого адреса, в случае, который привел к Интернету.Открытие проводника.Это произошло, даже если Internet Explorer не был указан в командной строке, потому что, когда Windows обнаруживает адрес http: , реестр настраивается для запуска Internet Explorer.

Во второмВ случае, когда o / p был озадачен открытием Windows Explorer, если вы внимательно посмотрите на его вторую команду, вы заметите, что эта 2-я команда явно не упоминает http: в команде, поэтому http: протокол не взял на себя обработку команды (поэтому Internet Explorer не вызывался).

0 голосов
/ 16 октября 2018

Так что я не знаю, ПОЧЕМУ это работает, я думаю, что это как-то связано с разницей между прямой и обратной косой чертой, но вот код, который в итоге заработал.Этот код проверяет, существует ли конкретная папка, создает ее, если она не существует, а затем пытается открыть папку в проводнике Windows, а не в Internet Explorer.

Private Sub ButtonMkDirTest_Click()
myWorkBookBasePath = "\\vaww.visn21.portal.va.gov\sanfrancisco\education\EDADMIN\TESTFOLDER"

If Len(Dir(myWorkBookBasePath, vbDirectory)) = 0 Then
   MkDir myWorkBookBasePath
End If
Dim path As String
path = myWorkBookBasePath
Shell "cmd /C start """" /max """ & path & """", vbHide
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...