Comment ajouter des éléments à une liste Sharepoint à l'aide de VBA Excel?
J'ai un fichier Excel qui regroupe une entrée de l'utilisateur, et fait quelques calculs basés sur que la saisie de l'utilisateur. L'application elle-même n'a pas d'enregistrer la saisie de l'utilisateur ou des calculs; actuellement, chaque fois que l'utilisateur exécute l'application, il envoie les données à une base de données Access et insère une ligne dans une table Access xlTable
qui est lié à une liste Sharepoint. Le code correspondant est:
sub sendToSharepoint(userName as string, folderPath as string, calculatedValue as long)
dim db as DAO.database
dim insertStr as string
'open connection to Access db
set db=OpenDatabase(myDatabasePath)
'build insert string
insertStr="insert into xlTable (userName,folderPath,calculatedValue,workDate) values (""" & userName & """,""" & folderPath & """," & calculatedValue & ","#" & Now & "#)"
'insert values into xlTable, which adds them to the Sharepoint list
db.execute insertStr,dbFailonError
end sub
Parce que nous avons eu quelques problèmes avec l'Accès de la déconnexion à partir de Sharepoint et, par conséquent, pas de remplissage de la liste, et, en général, veulent simplifier nos processus de transfert de données, je voudrais envoyer les données directement à partir d'Excel dans Sharepoint sans l'aide d'Access. J'ai lu quelques trucs sur DONC sur l'utilisation de Web Services pour la mise à jour de Sharepoint, mais je n'ai pas été en mesure de comprendre comment cela fonctionne exactement, ou comment les mettre en application en VBA.
Quelles informations ai-je besoin sur ma liste Sharepoint à manipuler à partir d'Excel VBA similaire pour le code ci-dessus? Ai-je besoin d'ajouter toutes les références?
OriginalL'auteur sigil | 2012-04-13
Vous devez vous connecter pour publier un commentaire.
Toutes les manipulations de données peut être fait par le biais de SharePoint Les listes de Web service nommé
lists.asmx
. Vous devez appeler dans le web service. Par exempleUpdateListItems
méthode devrait faire ce que MS Access n'maintenant.Une option que vous pouvez utiliser pour accéder à la liste de web services, est "Microsoft SOAP Toolkit" qui doit être installé en tant que composant office (jamais fait, mais voici un article décrivant: http://oreilly.com/pub/h/1306
Une autre option est d'utiliser la bibliothèque MSXML (qui est toujours disponible) et l'envoi de requêtes SOAP comme de simples requêtes HTTP. Ensuite, l'analyse des résultats au format xml. Il y a un article montrant des exemples de comment le faire: http://blogs.msdn.com/b/jpsanders/archive/2007/06/14/how-to-send-soap-call-using-msxml-replace-stk.aspx
J'ai fini par utiliser la bibliothèque MSXML pour ce faire. Désolé pour ne pas marquer la question répondu plus tôt.
OriginalL'auteur naivists
Vous pouvez utiliser le Camelot .NET Connecteur pour la requête SharePoint directement à partir de VB/ASP à l'aide du composant COM+ qui vient avec la prochaine version (2.0). Voir http://bendsoft.com/net-sharepoint-connector/.
Ok, je comprends cela, mais COM+ peuvent toujours être utilisés avec VBA droit?
OriginalL'auteur Ulf