Beantworten Sie die SharePoint-Umfrage über VBA

761
wizlog

Wie kann ich auf SharePoint-Umfragen über VBA antworten? Ich versuche, die Verwendung einer Arbeitsmappe über ein Makro zu verfolgen, aber ich scheine es nicht herauszufinden oder die richtigen Suchbegriffe zu suchen.

Jegliche Hinweise in die richtige Richtung wären hilfreich.

Bearbeiten: Kann ich Powershell verwenden, um eine Liste in SharePoint über VBA zu erstellen?

4
@PimpJuiceIT Yes, I am trying to track my workbook's usage. I could maybe use a backup SP DB but I have no idea where that is or if I have access. I don't need other people to see the usage (I'm just trying to get the values of a few cells on a worksheet in any format), so I guess there won't be any need for collaboration, but, the workbook will be hosted on SP. wizlog vor 6 Jahren 0
Ich meinte die Backend-DBs, aber ich kenne die Struktur nicht genug, um zu wissen, wo sie suchen müssen, aber es war nur eine Idee. Die Arbeitsmappe ist möglicherweise nur ein Teil der Inhaltsdatenbank, aber ich bin mir nicht sicher, ob es eine DB-SQL-Tabelle gibt, in der alle korrelierten Statistiken usw. aufgezeichnet wurden. Dann könnte eine einfache SQL-Abfrage die erforderlichen Details liefern. Pimp Juice IT vor 6 Jahren 0
Mein Kommentar zu @TechLoard verdeutlicht, was ich versuche. wizlog vor 6 Jahren 0

1 Antwort auf die Frage

0
TechLord

Bearbeiten: Kann ich Powershell verwenden, um eine Liste in SharePoint über VBA zu erstellen?

Es wird nicht speziell Powershell verwendet, aber diese Antwort versucht, die Frage zu beantworten:
Erstellen einer Liste in SharePoint über VBA .

(1) Aus der Frage, was genau Sie erreichen wollen, sind Sie nicht sicher. Dies scheint jedoch das relevanteste Codefragment zu sein, das aus Excel entnommen und in eine Sharepoint-Liste geschrieben werden kann :

Auszüge aus dem Link folgen:
Ursprüngliche Frage (Nur die relevanten Teile, die hier eingefügt werden):

Ich habe einen Automatisierungsbericht, den Benutzer zum Erstellen eines Kundenberichts verwenden, und ich möchte sehen, wer den Bericht tatsächlich verwendet und welche Parameter er verwendet. Ich habe gedacht, dass ich, wenn ich eine versteckte Liste auf einer Sharepoint-Site erstelle, am Ende des Excel-Makros die Parameter von der Haupt-Excel-Seite übernehmen und in eine Sharepoint-Liste schreiben kann.

Dies ist die Antwort, die möglicherweise funktioniert (gepostet zu dieser Frage oben):

Sub UpdateSpecificCells()  'If nobody has the file checked out If Workbooks.CanCheckOut("http://excel-pc:43231/Shared Documents/ExcelList.xlsb") = True Then Application.DisplayAlerts = False  'Open the file on the SharePoint server Workbooks.Open Filename:="http://excel-pc:43231/Shared Documents/ExcelList.xlsb", UpdateLinks:=xlUpdateLinksNever   ActiveSheet.Cells(2, 7).Value = 100 ActiveSheet.Cells(3, 7).Value = 200 ActiveSheet.Cells(4, 7).Value = 300   'Close the workbook Workbooks("ExcelList.xlsb").Save Workbooks("ExcelList.xlsb").Close  End If End Sub 

Noch ein Snippet als Antwort auf die gleiche Frage :

Dies aktualisiert die Sharepoint - Liste über Listobject der veröffentlichen Methode

Public Sub PublishList() ' Get the collection of lists for the active sheet Dim L As ListObjects Set L = ActiveSheet.ListObjects ' Add a new list Dim NewList As ListObject Set NewList = L.Add(xlSrcRange, Range("A1:G8"),, True) NewList.Name = "PartsList" ' Publish it to a SharePoint site NewList.Publish Array("http://sharepointportal.xxx.com/personal/xxx/_layouts/viewlsts.aspx?BaseType=0", _ "NewLists "), True End Sub 

Link zum ursprünglichen Inhalt hier .

Es folgen zwei weitere Links, die hilfreich sein können:
(2) Wie fügen Sie Elemente zu einer Sharepoint-Liste mithilfe von Excel VBA hinzu?

Einen relevanten Teil der akzeptierten Antwort dort einfügen:

Alle Datenmanipulationen können über den SharePoint-Listen-Webdienst namens "listen.asmx" durchgeführt werden. Sie müssen in diesen Web-Service einsteigen. Beispielsweise sollte die UpdateListItems-Methode das tun, was MS Access jetzt tut.

Eine Option, die Sie verwenden können, um auf das Listen-Web-Service zuzugreifen, ist "Microsoft SOAP Toolkit", das als Office-Komponente installiert werden muss (machen Sie das nie, aber hier ist ein Artikel, der es beschreibt: http://oreilly.com/pub/h) / 1306

Eine andere Option ist die Verwendung der MSXML-Bibliothek (die immer verfügbar ist) und das Senden von SOAP-Anforderungen als einfache HTTP-Anforderungen. Anschließend werden die Ergebnisse als XML analysiert. Es gibt einen Artikel, der Beispiele dafür zeigt: http://blogs.msdn.com/b/jpsanders/archive/2007/06/14/how-to-send-soap-call-using-msxml-replace-stk .aspx

(3) VBA-Code zum Einfügen von Datensätzen in eine Sharepoint-Datenbankliste

Fügen Sie keine Inhalte aus diesem Link ein, da Sie sich nicht sicher sind, ob dies für Ihre Situation besonders relevant wäre oder nicht. Bitte klicken Sie auf den Hyperlink, um zu überprüfen ...

Zwei weitere Hinweise, die ich bitte durchgehen möchte:

(4) Aktualisieren Sie die Daten in einer vorhandenen SharePoint-Liste mit VBA.
Nun, das ist nicht der genaue Titel dieser Frage, aber es scheint die eigentliche Frage zu sein. Das könnte für Sie hilfreich sein.

(5) Aktualisieren Sie die Sharepoint-Liste mit neuen Werten aus einer Excel-Tabelle (mithilfe von VBA). Beachten
Sie auch die Antworten auf diese Frage.

Ich denke, nur wenn Sie in der Lage sind, genau zu erklären, was genau Sie erreichen wollen, können wir Ihnen nur weiterhelfen ...

Techlord, thank you for the answer. I am trying to track workbook usage (I clarified a little bit in the comment to my question). In next part of 1, multiple people will be using (copies) my workbook at the same time—no single list can reliably be checked-out-able. In response to (2), I get a "cannot connect to the server at this time. Your Table cannot be published" error on the NewList.Publish line. Do I need to import `lists.asmx` as a reference? it isn't available for me. Note: I copied the web address from the list information settings page. Further note: I am connected to SP. wizlog vor 6 Jahren 0