Ouvrir un fichier Excel à partir d'un site SharePoint
J'essaie d'ouvrir un fichier Excel à partir de SharePoint à l'aide de VBA. Parce que le fichier que je suis à la recherche pourrait être différente à chaque fois que je lance la macro, je veux être en mesure d'afficher le dossier SharePoint et sélectionnez le fichier dont j'ai besoin.
Le code ci-dessous fonctionne très bien quand je veux chercher un fichier sur un lecteur réseau, mais quand je la remplacer avec un SharePoint adresse j'obtiens "erreur d'exécution 76: Chemin d'accès introuvable".
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
Quand je colle cette adresse dans l'Explorateur Windows je n'ai pas de problèmes d'accès au dossier SharePoint, donc je sais que le chemin est correct.
Pourquoi ne pas VBA?
ChDir()
et GetOpenFilename
ne fonctionnent pas sur http, mais vous pouvez essayer en utilisant sharepoint "webdav" chemin d'accès au lieu de le http route.Vous devez utiliser une adresse WebDAV pour lier le fichier Excel va la considérer comme un emplacement réseau. Voir ma réponse ci-dessous pour une fonction qui analyse les Url dans WebDAV adresses pour vous.
OriginalL'auteur Pocahontas | 2013-10-21
Vous devez vous connecter pour publier un commentaire.
Essayer ce code pour récupérer un fichier à partir d'un site SharePoint:
Si je me souviens bien, le
Microsoft Scripting Runtime
de référence doit être activé. Aussi, votre site peut utiliser des barres obliques inverses, la mine utilise des barres obliques.OriginalL'auteur ARich
- Je convertir les URL en adresse WebDAV en utilisant la fonction suivante que j'ai créé. Cette fonction retourne également un système régulier des sentiers et des chemins UNC indemne.
Appeler cette fonction en l'ajoutant dans un module dans votre projet VBA et en entrant
MyNewPathString = Parse_Resource(myFileDialogStringVariable)
juste après votre boîte de dialogue de fichier de commande et avant l'utilisation de la voie choisie par la boîte de dialogue de fichier. Puis de référence "MyNewPathString" lors de l'utilisation de la cible de l'emplacement du fichier.Cette fonction permet de vérifier si votre chemin d'accès au fichier est une URL et si elle est sécurisée (HTTPS) ou non sécurisé (HTTP). Si c'est une URL, alors il sera de construire approprié WebDAV chaîne de sorte que vous pouvez lien direct vers le fichier cible dans SharePoint.
L'utilisateur sera susceptible de être invité pour les informations d'identification chaque fois que le fichier est ouvert en particulier si elles ne sont pas assis sur le même domaine que votre batterie de serveurs SharePoint.
VEUILLEZ NOTER: je n'ai pas testé avec un site http, cependant, je suis certain que cela va fonctionner.
C'est très utile!
Content que ça a aidé!
OriginalL'auteur Shrout1
De vous un script pour ne pas utiliser
http://sharepoint/my/file
tant que chemin d'accès, mais plutôt\\sharepoint\my\file
puis est devrait fonctionner. Il fonctionne fo mes programmes en C#.OriginalL'auteur Jacek
Veuillez noter qu'il y est une faute de frappe dans votre code initial
doit être remplacé par
Le trait de soulignement manquait.
OriginalL'auteur Ed van Harmelen
Vous pouvez utiliser mon approche de la map SharePoint dossier sur les lecteurs réseau. Ensuite, vous pouvez procéder comme vous l'avez fait jusqu'à présent.
Excel VBA Téléchargement à partir de plusieurs dossiers SharePoint
Alors vous pouvez aussi naviguer à travers les fichiers avec
Dir
ou un Objet de Système de FichiersOriginalL'auteur psychicebola
Essayer quelque chose comme cela:
Il a travaillé pour moi.
OriginalL'auteur Steve