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

Forumthread: SharePoint Datei per VBA bearbeiten

SharePoint Datei per VBA bearbeiten
16.07.2021 15:09:00
Maxl
Hallo,
ich habe eine Makro, welches eine andere Excel Datei öffnet und da ein paar Sachen rauskopiert. Soweit hat alles gut Funktioniert.
Jetzt wurde die Datei auf einen Sharepoint hochgeladen. Den Dateipfad habe ich entsprechend mit dem Sharepoint link ausgetauscht.
Das öffnen der Datei habe ich dann über FollowHyperlink Address:= gemacht, damit sich die Datei nicht in der Excel Browser Version öffnet.
Soweit so gut. Das Funktioniert auch bis dahin, aber leider nur so lange, wie ich das neu geöffnete Sheet nicht ansprechen. Es soll aber nicht nur geöffnet werden sondern auch Daten kopiert werden. Das erkennbare Problem ist, dass das Makro nicht wartet bis die Datei offen ist. Aufgrund der Ladezeit durch den Sharepoint findet das Makro nicht direkt die neue Datei und stürzt ab "ungültiger Bereich" und DANN öffnet sich trotzdem noch die andere Datei aus dem Sharepoint, obwohl das Makro schon beendet wurde.
Ich habe jetzt alles möglich versucht mit Wait und loop befehlen, eine Wartezeit einzubauen. Problem hier ist, dass während der Wartezeit die Datei nicht geöffnet wird.
Die Zeit wird gewartete-> Datei soll angesprochen werden ->wird nicht gefunden ->"Bereich ungültig" ->Abbruch ->dann öffnet sich die Datei im Nachgang.
Ich wäre um jede Hilfe oder Idee sehr Dankbar!

Sub DatenEinlesen()
Dim NameZ As String 'damit spreche ich später die Fenster an um sie wieder zu schließen
Dim NameQ As String
NameZ = Application.ActiveWorkbook.Name
Worksheets("Deckblatt").Select
Formspfad = Worksheets("Deckblatt").Range("B12") 'hier ist ein normaler Hyperlink hinter, welcher die zweite Datei öffnen soll
ActiveWorkbook.FollowHyperlink Address:=Formspfad
Sheets("Form1").Columns("A:AH").Select 'an der Stelle Abbruch, danach öffnet sich die zweite Datei
Application.CutCopyMode = False
Selection.Copy
NameQ = Application.ActiveWorkbook.Name
Windows(NameZ).Activate
Sheets("Form2").Range("A1").PasteSpecial Paste:=xlValues
Windows(NameQ).Close
Application.DisplayAlerts = True
Application.ScreenUpdating = True
Sheets("Deckblatt").Activate
MsgBox "Die Werte aus dem Formsformular wurden aktualisiert", vbOKOnly
End Sub
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SharePoint Datei per VBA bearbeiten
16.07.2021 15:56:05
EtoPHG
Hallo,
Eine XL Arbeitsmappe auf Sharepoint kann nicht mit VBA bearbeitet werden! Das funktioniert auch nicht mit deinem Ansatz, wie du selbst feststellen kannst.
Eine solche Mappe muss z.B: mit OneDrive oder einem lokalen Ordner synchronisiert sein. Auf diesen Speicherorten kann die Mappe mit der Exel-App und mit VBA bearbeitet werden, anschliessen gespeichert werden und die Synchronisation sorgt dann (wenn richtig eingestellt), dass der neueste Stand auch wieder auf Sharepoint liegt. Oder du benutzt den Checkout - Bearbeiten - Checkin Mechanismus von Sharepoint.
Gruess Hansueli
Anzeige
AW: SharePoint Datei per VBA bearbeiten
20.07.2021 11:08:34
Maxl
Hallo,
danke für die Antwort Hansueli!
Ich denke mein Problem ist nicht ganz klar geworden. Inzwischen habe ich mein Problem selbst gelöst.
Dazu musste ich lediglich den Link zum SharePoint etwas anpassen, dann konnte ich das öffnen direkt per Workbooks.open realisieren.
Trotzdem Danke für die Mühe!
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

SharePoint Datei per VBA bearbeiten


Schritt-für-Schritt-Anleitung

Wenn du eine SharePoint-Datei per VBA bearbeiten möchtest, folge diesen Schritten:

  1. Synchronisiere die SharePoint-Datei: Stelle sicher, dass die Datei lokal mit OneDrive oder einem anderen lokalen Ordner synchronisiert ist. Dadurch kannst du die Excel-Datei mit VBA bearbeiten.

  2. Öffne die Datei mit VBA: Anstelle von FollowHyperlink kannst du Workbooks.Open verwenden, um die Datei zu öffnen. Beispielcode:

    Sub DatenEinlesen()
        Dim NameZ As String
        Dim NameQ As String
        Dim wb As Workbook
    
        NameZ = Application.ActiveWorkbook.Name
        Worksheets("Deckblatt").Select
        Formspfad = Worksheets("Deckblatt").Range("B12") ' Hyperlink
    
        ' Öffne die Datei über Workbooks.Open
        Set wb = Workbooks.Open(Formspfad)
    
        ' Daten kopieren und einfügen
        wb.Sheets("Form1").Columns("A:AH").Copy
        Windows(NameZ).Activate
        Sheets("Form2").Range("A1").PasteSpecial Paste:=xlValues
        wb.Close SaveChanges:=False
        MsgBox "Die Werte aus dem Formsformular wurden aktualisiert", vbOKOnly
    End Sub
  3. Daten bearbeiten: Nachdem die Datei geöffnet wurde, kannst du die Daten wie gewünscht bearbeiten.


Häufige Fehler und Lösungen

  1. Fehler: "Ungültiger Bereich"

    • Lösung: Stelle sicher, dass die Datei vollständig geladen ist, bevor du versuchst, darauf zuzugreifen. Verwende DoEvents, um den VBA-Code anzuhalten, bis die Datei bereit ist.
  2. Fehler: Datei öffnet sich im Browser

    • Lösung: Verwende den richtigen SharePoint-Link und stelle sicher, dass du Workbooks.Open nutzt, um die Datei direkt in der Excel-App zu öffnen.
  3. Fehler: Makros in SharePoint nicht ausführbar

    • Lösung: Stelle sicher, dass die Datei auf einem synchronisierten Ordner liegt oder nutze den Checkout-Mechanismus von SharePoint.

Alternative Methoden

  • OneDrive verwenden: Speichere die Excel-Datei in OneDrive, um sie lokal zu synchronisieren und mit VBA zu bearbeiten.

  • SharePoint Checkout: Nutze die Checkout-Funktion von SharePoint, um die Datei zu bearbeiten, und checke sie anschließend wieder ein.

  • Excel im Browser bearbeiten: Wenn du nur einfache Änderungen vornehmen möchtest, kannst du die Datei auch direkt im Excel-Browser bearbeiten.


Praktische Beispiele

  1. Beispiel für das Öffnen einer SharePoint-Datei:

    Sub OpenSharePointFile()
        Dim wb As Workbook
        Set wb = Workbooks.Open("https://deinsharepointlink.com/dateiname.xlsx")
        ' Bearbeite die Workbook-Objekte hier
        wb.Close
    End Sub
  2. Daten aus einer SharePoint-Liste in Excel bearbeiten: Du kannst auch eine Verbindung zu SharePoint-Listen in Excel herstellen, um Daten zu importieren und zu bearbeiten.


Tipps für Profis

  • Verwende Fehlerbehandlung: Implementiere On Error Resume Next, um sicherzustellen, dass dein Code nicht abstürzt, wenn ein Fehler auftritt.

  • Nutze Application.Wait: Verwende Application.Wait an strategischen Stellen, um sicherzustellen, dass deine Datei vollständig geladen ist, bevor du darauf zugreifst.

  • Automatisiere den Checkout-Prozess: Du kannst VBA verwenden, um den Checkout- und Checkin-Prozess automatisiert zu gestalten, was die Arbeit mit SharePoint erheblich erleichtert.


FAQ: Häufige Fragen

1. Kann ich Makros in einer SharePoint-Datei ausführen?
Ja, jedoch muss die Datei lokal synchronisiert sein oder du musst den Checkout-Mechanismus verwenden.

2. Wie kann ich eine SharePoint-Datei direkt in der Excel-App öffnen?
Verwende Workbooks.Open mit dem korrekten SharePoint-Link, um die Datei in der Excel-App zu öffnen.

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