Sharepoint ein/auschecken von Dateien

  • VB.NET

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von Sub7evenHH.

    Sharepoint ein/auschecken von Dateien

    Neu

    Hi,

    ich kriege es einfach nicht hin, eine Datei im SharePoint ein/auszuchecken. Ich habe die Imports und DLLs hinzugefügt.

    VB.NET-Quellcode

    1. Microsoft.SharePoint
    2. Microsoft.SharePoint.Client
    3. Imports Microsoft.SharePoint.Client
    4. Imports Microsoft.SharePoint.Client.ClientRuntimeContext
    5. Public Class Form1
    6. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    7. Dim instance As File = ""
    8. Microsoft.SharePoint.Client.File = "???"
    9. instance.CheckOut()
    10. End Sub
    11. End Class



    Weiter weiß ich nicht. Auch Google konnte mir nicht beibringen wie ich weitermache. Wie stelle ich nun eine Verbindung zum Sharepoint her und kann dort eine belibige Datei auschecken?

    Danke Euch :)

    Neu

    Ich kann Dir nicht weiterhelfen, aber die Zeilen #1, #2, #10 und #11 ergeben überhaupt keinen Sinn. #1 und #2, weil sie syntaktisch falsch sind; #10, weil File wahrscheinlich nicht vom Typ String ist (ein Schuss ins Blaue von mir), und #11, weil Du da einem Datentypen was zuweisen willst. Woher kommt der Code? Und späßleshalber: welche DLL muss ich einbinden, um dem Problem näher zu kommen?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.

    Neu

    Ups, ja das stimmt. 1 und 2 sind ausversehen mit in den Code gerutscht. Den Code habe ich selbst zusammengebastelt. Die DLL habe ich direkt von Microsoft.

    https://www.microsoft.com/en-us/download/details.aspx?id=21786

    Das habe ich von MS gefunden. Leider erkennt er bei mir nix mit dem Namen SPFile trotz DLL.

    docs.microsoft.com/en-us/previ…r/ms454425(v%3Doffice.15)

    Neu

    Das verlinkte Teil führt zur SharePoint-Runtime-Komponente (wo ich auf Anhieb keine einbindbare DLL fand). Nutze ich hingegen das SharePoint-Paket, welches über Nuget angeboten wird, wird der MS-SharePoint-Beispiel-Code als fehlerfrei erkannt.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.

    Neu

    Hi,

    nachdem ich die DLL von Nuget eingefügt habe und folgenden Code geschrieben habe:

    VB.NET-Quellcode

    1. ​Imports Microsoft.SharePoint.WebControls
    2. Imports Microsoft.SharePoint
    3. Public Class Form1
    4. Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    5. End Sub
    6. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    7. Dim site As SPSite = SPContext.Current.Site
    8. Dim targetWeb As SPWeb = site.AllWebs("https://test.sharepoint.com/sites/Hauptseite")
    9. Dim docLibFolder As SPFolder = targetWeb.Folders("Shared Documents/Test/Test1")
    10. Dim docLibFiles As SPFileCollection = docLibFolder.Files
    11. Dim i As Integer
    12. For i = 0 To docLibFiles.Count - 1
    13. docLibFiles(i).CheckOut()
    14. Next i
    15. End Sub
    16. End Class


    Wird mir der Fehler:

    VB.NET-Quellcode

    1. Fehler 15 Der Typ "SPWeb" ist nicht definiert. C:\Users\Test\Form1.vb 12 26 WindowsApplication1


    Funktioniert das bei dir mit der DLL von Nuget?

    Neu

    Jep. Dienen Code habe ich 1:1 übernommen. Ist in Deinen Verweisen dank Nuget jetzt auch die im Screenshot gezeigte DLL drin? Wird zwar ein anderer Pfad sein, aber das ist ja klar.
    Bilder
    • SharePoint.png

      27,01 kB, 1.253×303, 12 mal angesehen
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.

    Neu

    Ich glaube ich habe etwas falsch gemacht oder überhaupt nicht gemacht...

    Der Fehler kommt erst wenn ich die Anwendung starte. Zuvor habe ich keine Fehlermeldungen.

    Ich lade die DLL von nuget runter, öffne VB und klicke auf "Projekt - > Verweis hinzufügen -> Durchsuchen" und wähle die soeben geladene DLL aus dem Ordner lib. Dann öffne ich die Form und gebe

    Imports Microsoft.SharePoint
    Imports Microsoft.SharePoint.WebControls oberhalb der Klasse ein.

    Dann füge ich den Code auf dem Button ein. Dann bekomme ich den oben beschriebenen Fehler? Hab ich was falsch gemacht?

    Danke vielmals!!

    Neu

    Nein, den von Dir genannten Fehler bekomme ich nicht. Aber der sollte ja auch schon zur Designzeit auftreten. Da ich SharePoint nicht nutze (was ich in Post#2 mit "Ich kann Dir nicht weiterhelfen" andeuten wollte), kann ich es auch nicht adäquat nachbauen. Das einzige, was ich jetzt erhalte, ist eine System.IO.FileNotFoundException. Ich hab ja auch erstmal nur die Syntax Deines Codes getestet. Nur inhaltlich kommt er mir komisch vor, weil Du mit Dim site As SPSite = SPContext.Current.Site anfängst. Nur woher soll der Compiler wissen, was Current ist? Für Current heißt es im MSDN: "Within an ASP.NET application, you can use the Site property of the SPContext class to return an SPSite object that represents the current site collection, as follows". Der Code, den Du verwendest, sollte erstmal einem funktionierendem Beispiel folgen, bevor Du ihn abwandelst. Aber wie gesagt: Bei der Nutzung von SharePoint bin ich raus.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.

    Neu

    Hi,
    ich habe mich mittlerweile echt an 2010 gewöhnt. Alles was drüber ist, wird mir irgendwie zu unübersichtlich und langsam. Ich könnte auf 2017 umsteigen, würde das aber sehr gerne vermeiden. Ich probiere es da aber mal aus und melde mich nochmal.

    Danke Euch erstmal :=)

    Falls jemand etwas Erfahrung mit der Sharepoint Problematik hat, würde ich mich sehr über weitere Hilfe freuen :)