puede para habilitar explorador editarlo documento datos con archivos archivo actualizar abrir abre excel vba sharepoint excel-vba excel-2010

para - Abra un archivo de Excel desde el sitio de SharePoint



no se puede abrir el documento para editarlo sharepoint 2010 (6)

Pruebe algo como esto:

Shell ("C:/Program Files/Internet Explorer/iexplore.exe http://sharepoint/my/file/path")

Funcionó para mí

Estoy tratando de abrir un archivo de Excel desde SharePoint usando VBA. Debido a que el archivo que estoy buscando puede ser diferente cada vez que ejecuto la macro, quiero poder ver la carpeta de SharePoint y seleccionar el archivo que necesito.

El código siguiente funciona bien cuando quiero buscar un archivo en una unidad de red, sin embargo, cuando lo reemplazo con una dirección de SharePoint obtengo el "error en tiempo de ejecución 76: Ruta no encontrada".

Sub Update_monthly_summary() Dim SummaryWB As Workbook Dim SummaryFileName As Variant ChDir "http://sharepoint/my/file/path" SummaryFileName = Application.GetOpenFilename("Excel-files,*.xls", _ 1, "Select monthly summary file", , False) If SummaryFileName = False Then Exit Sub Set SummaryWB = Workbooks.Open(SummaryFileName) End Sub

Cuando pego esta dirección en el Explorador de Windows, no tengo problemas para acceder a la carpeta de SharePoint, así que sé que la ruta es correcta.

¿Por qué no le gusta a VBA?


Desde su script, no use http://sharepoint/my/file como ruta, sino //sharepoint/my/file y luego debería funcionar. Funciona para mis programas hechos en C #.


Transformo la URL en una dirección WebDAV usando la siguiente función que creé. Esta función también devuelve intactas las rutas regulares del sistema y las rutas UNC.

Llame a esta función agregándola a un módulo en su proyecto VBA e ingresando MyNewPathString = ParseResource(myFileDialogStringVariable) justo después de su comando de diálogo de archivo y antes de usar la ruta seleccionada por el cuadro de diálogo del archivo. Luego, haga referencia a "MyNewPathString" cuando use la ubicación del archivo de destino.

Public Function Parse_Resource(URL As String) ''Uncomment the below line to test locally without calling the function & remove argument above ''Dim URL As String Dim SplitURL() As String Dim i As Integer Dim WebDAVURI As String ''Check for a double forward slash in the resource path. This will indicate a URL If Not InStr(1, URL, "//", vbBinaryCompare) = 0 Then ''Split the URL into an array so it can be analyzed & reused SplitURL = Split(URL, "/", , vbBinaryCompare) ''URL has been found so prep the WebDAVURI string WebDAVURI = "//" ''Check if the URL is secure If SplitURL(0) = "https:" Then ''The code iterates through the array excluding unneeded components of the URL For i = 0 To UBound(SplitURL) If Not SplitURL(i) = "" Then Select Case i Case 0 ''Do nothing because we do not need the HTTPS element Case 1 ''Do nothing because this array slot is empty Case 2 ''This should be the root URL of the site. Add @ssl to the WebDAVURI WebDAVURI = WebDAVURI & SplitURL(i) & "@ssl" Case Else ''Append URI components and build string WebDAVURI = WebDAVURI & "/" & SplitURL(i) End Select End If Next i Else ''URL is not secure For i = 0 To UBound(SplitURL) ''The code iterates through the array excluding unneeded components of the URL If Not SplitURL(i) = "" Then Select Case i Case 0 ''Do nothing because we do not need the HTTPS element Case 1 ''Do nothing because this array slot is empty Case 2 ''This should be the root URL of the site. Does not require an additional slash WebDAVURI = WebDAVURI & SplitURL(i) Case Else ''Append URI components and build string WebDAVURI = WebDAVURI & "/" & SplitURL(i) End Select End If Next i End If ''Set the Parse_Resource value to WebDAVURI Parse_Resource = WebDAVURI Else ''There was no double forward slash so return system path as is Parse_Resource = URL End If End Function

Esta función verificará si su ruta de archivo es una URL y si es segura (HTTPS) o no segura (HTTP). Si es una URL, construirá la cadena WebDAV apropiada para que pueda vincular directamente al archivo de destino en SharePoint.

El usuario probablemente recibirá credenciales cada vez que se abra el archivo, especialmente si no están ubicados en el mismo dominio que su granja de servidores de SharePoint.

TENGA EN CUENTA: No he probado esto con un sitio http, sin embargo, estoy seguro de que funcionará.


Pruebe este código para elegir un archivo de un sitio de SharePoint:

Dim SummaryWB As Workbook Dim vrtSelectedItem As Variant With Application.FileDialog(msoFileDialogOpen) .InitialFileName = "https://sharepoint.com/team/folder" & "/" .AllowMultiSelect = False .Show For Each vrtSelectedItem In .SelectedItems Set SummaryWB = Workbooks.Open(vrtSelectedItem) Next End With If SummaryWB Is Nothing then Exit Sub

Si recuerdo correctamente, la referencia Microsoft Scripting Runtime debe estar habilitada. Además, su sitio puede usar barras diagonales inversas, mina usa barras diagonales.



Tenga en cuenta que hay un error tipográfico en su código inicial

MyNewPathString = ParseResource(myFileDialogStringVariable)

debe ser reemplazado con

MyNewPathString = Parse_Resource(myFileDialogStringVariable)

El guión bajo faltaba.