Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Pfad von Sharepoint Folder

Forumthread: Pfad von Sharepoint Folder

Pfad von Sharepoint Folder
18.05.2022 10:12:14
Sharepoint
Hallo zusammen
Ich würde gerne den Pfad der geöffneten Datei auf Sharepoint als Speicherort für die Erstellung von pdfs verwenden.
Den Befehl für die pdf-erstellung habe ich, nur der Speicherort weiss ich nicht, wie ich den definiere.
Filname=activeworkbook.path\"(etc.)" funktioniert hier leider nicht. (CurDir auch nicht)
Wie kann ich das in Sharepoint lösen?
Gruss André


mypath = curdir
Sheets("Beleg XY").Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
mypath & Range("H2") & "\Belege\Beleg XY" & Range("H2") & ".pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pfad von Sharepoint Folder
18.05.2022 10:21:41
Sharepoint
Hallo
hilft dir das?

Sub OneDriveName()
Dim FullN As String, Datei As String, Pfad As String
With CreateObject("Scripting.FileSystemObject")
FullN = .GetAbsolutePathName(ThisWorkbook.Name)
Datei = ThisWorkbook.Name
Pfad = Replace(FullN, Datei, "")
End With
End Sub
LG UweD
Anzeige
AW: Pfad von Sharepoint Folder
18.05.2022 12:16:08
Sharepoint
Nach dem öffnen vom Excel-File, welches auf dem Sharepoint liegt, wird es im Folder System32 temporär gespeichert.
So nimmt vba also diese lokale Adresse (C:\Windows\system32\...) und nicht die von Sharepoint...
Ich kann auch nicht im Browser arbeiten, da die Webversion von Excel VBA nicht unterstützt.
Anzeige
AW: Pfad von Sharepoint Folder
18.05.2022 12:53:39
Sharepoint
Hallo also ich speichere z.B in One Drive mit diesem Code. Du müsstest nur das Verzeichniss anpassen! hoffe es hilft Dir etwas weiter
'Speichern in OneDrive

Private Sub CommandButton1_Click()
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:="C:\Users\Dein Name\OneDrive\Beispiel.xlsm"
Application.DisplayAlerts = True
End Sub
Gruß
Oraculix
Anzeige
AW: Pfad von Sharepoint Folder
18.05.2022 13:26:28
Sharepoint
Hallo
ich habe ein ähnliches Problem gehabt und es (etwas umständlich) so gelöst.
Du kennst den sharepoint -Pfad und den Pfad der lokale Syncronisation
Im hinteren Teil sollten die Verzeichnisse identisch sein.
bei mir ist das z.B. so...
Für den http Link trenne ich dort und nehme nur den Rest

    'Der Benutzerabhängige Sync-Pfad
AufrufPfad = Environ("Userprofile") & "\Firma\Standort - Documents\Abteilung\&quot
&nbsp&nbsp&nbspTrenn1 = &quothttps:\"
Trenn2 = "\Abteilung\"
Set FSO = CreateObject("Scripting.FileSystemObject")
'Gesamtpfad sharepoint
Pfad = FSO.GetAbsolutePathName(ThisWorkbook.Path)
'für späteren Link
httpPfad = Trenn1 & "\" & Split(Pfad, Trenn1)(1)

Beispiel:

AufrufPfad = C:\Users\NameMein\Firma\Standort - Documents\Abteilung\
Pfad=C:\Users\NameMein\Firma\Standort - Documents\Abteilung\99 Temp\Name\https:\Firma.sharepoint.com\sites\Standort\Shared Documents\Abteilung\99 Temp\Name
http s:\\Firma.sharepoint.com\sites\Standort\Shared Documents\Abteilung\99 Temp\Name
LG UweD
Anzeige
AW: Pfad von Sharepoint Folder
20.05.2022 09:17:15
Sharepoint
Der Ansatz von Uwe ist richtig. Leider funktioniert es bei mir nicht.
Auf C: ist die Adresse nur bis zum Ordner System32 vorhanden. und beim Sharepoint scheint sich alle Paar Tage irgendwie die Adresse zu ändern. die scheint irgendwie dynamisch zu sein. Ich denke, auf Sharepoint über vba direkt zu speichern ist eher unerwünscht von Microsoft...Muss das ablegen auf Sharepoint wohl manuell machen.
Danke aber euch für die Hilfe und die Ideen.
Gruss André
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Pfad von SharePoint-Ordner in Excel VBA abfragen und nutzen


Schritt-für-Schritt-Anleitung

  1. Ermitteln des Pfades: Um den Pfad einer geöffneten Datei in SharePoint zu ermitteln, kannst du die FileSystemObject verwenden. So gehst du vor:

    Sub GetSharePointPath()
       Dim FullN As String, Datei As String, Pfad As String
       With CreateObject("Scripting.FileSystemObject")
           FullN = .GetAbsolutePathName(ThisWorkbook.Name)
           Datei = ThisWorkbook.Name
           Pfad = Replace(FullN, Datei, "")
       End With
       MsgBox "Der SharePoint-Pfad ist: " & Pfad
    End Sub
  2. Speicherung von PDFs: Um PDFs im SharePoint-Ordner zu speichern, kannst du den ermittelten Pfad verwenden. Beispiel:

    Sub ExportPDF()
       Dim mypath As String
       mypath = GetSharePointPath() 'Rufe die Funktion auf, um den Pfad zu bekommen
       Sheets("Beleg XY").Select
       ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
       mypath & "Belege\Beleg XY.pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
    End Sub

Häufige Fehler und Lösungen

  • Problem: ActiveWorkbook.Path gibt einen falschen Pfad zurück.
    Lösung: Verwende ThisWorkbook.Path anstelle von ActiveWorkbook.Path, um den tatsächlichen Speicherort der Datei zu erhalten, da ActiveWorkbook möglicherweise auf eine temporäre Datei verweist.

  • Problem: PDF wird nicht im richtigen Ordner gespeichert.
    Lösung: Stelle sicher, dass der Pfad korrekt zusammengesetzt ist. Überprüfe die Struktur des SharePoint-Ordners und passe den Dateinamen entsprechend an.


Alternative Methoden

  1. Verwendung von Application.ActiveWorkbook.SaveAs: Um eine Datei direkt in OneDrive oder SharePoint zu speichern, kannst du diesen Befehl verwenden:

    Private Sub CommandButton1_Click()
       Application.DisplayAlerts = False
       ActiveWorkbook.SaveAs Filename:="C:\Users\Dein Name\OneDrive\Beispiel.xlsm"
       Application.DisplayAlerts = True
    End Sub
  2. Pfad manuell anpassen: Wenn der dynamische Pfad von SharePoint Probleme bereitet, kannst du den Pfad manuell in deinem VBA-Code festlegen.


Praktische Beispiele

  • Beispiel 1: Exportiere eine Excel-Tabelle als PDF in einen bestimmten SharePoint-Ordner.

    Sub ExportToSharePoint()
       Dim Pfad As String
       Pfad = "https://deinunternehmen.sharepoint.com/sites/deinordner/"
       ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Pfad & "ExportierteTabelle.pdf"
    End Sub
  • Beispiel 2: Auslesen eines SharePoint-Pfades:

    Sub ReadSharePointPath()
       Dim myPath As String
       myPath = ThisWorkbook.Path ' Nutze thisworkbook.path sharepoint
       MsgBox "Der aktuelle Pfad ist: " & myPath
    End Sub

Tipps für Profis

  • Nutze die Environ-Funktion, um den Benutzerpfad dynamisch zu erfassen, besonders wenn du in einer Unternehmensumgebung arbeitest.

    Dim SyncPath As String
    SyncPath = Environ("USERPROFILE") & "\OneDrive\"
  • Teste deinen Code immer in einer sicheren Umgebung, um sicherzustellen, dass keine Daten verloren gehen.


FAQ: Häufige Fragen

1. Wie kann ich den SharePoint-Pfad programmgesteuert ermitteln?
Du kannst die FileSystemObject-Bibliothek verwenden, um den absoluten Pfad der Datei zu erhalten.

2. Funktioniert dieser Code auch in der Webversion von Excel?
Nein, VBA wird nicht von der Webversion von Excel unterstützt. Du musst die Desktop-Version verwenden.

3. Wie gehe ich mit dynamischen SharePoint-Pfaden um?
Es kann hilfreich sein, den Pfad manuell zu speichern oder regelmäßig zu überprüfen, ob sich der Pfad geändert hat.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige