SharePointCommunity
Die deutschsprachige Community für SharePoint, Office 365 und mit Azure

Dateien per VBA Hochladen und ersetzen

bewertet von 0 Usern
Nicht beantwortet Dieser Beitrag hat 0 Geprüfte Antworten | 1 Antwort | 1 Follower

Ohne Rang
1 Beiträge
Knopf erstellt in 10 Aug 2017 21:25

Hallo Experten!

Ich kenne mich  mit Excel und ein bisschen mit VBA aus. Aber alles rund um SharePoint ist noch eine Grauzone. Ich hoffe ihr könnt mir helfen

Ich möchte mit dem folgenden Makro automatische ein PDF überschreiben, ohne Dialogfenster. De PDF wird aus Excel heraus erzeugt. Das funktioniert auch alles prima, solange der Speicherort lokal ist.

 

Die Dateien sollen aber auf einem Share Point abgelegt werden und das funktioniert nicht! Ich erhalte immer die Meldung, dass ziel1 nicht gefunden wurde.

 

Ich habe gelesen, dass für das Hochladen von Dateien auf eine Website eine andere Methode anzuwenden ist. Ich habe es aber nicht hinbekommen :(

Könnt ihr mir helfen? Vielen Dank im Voraus!

 

Sub PDFDruck_auto()

 

Dim fso As New FileSystemObject

Dim ziel As String

Dim ziel1 As String

Dim ziel2 As String

 

ziel = ActiveWorkbook.Path

Debug.Print ziel

 

 

 

ziel1 = ziel + "/dateiname.pdf"

Debug.Print ziel1

Ziel2 = ziel + "/dateiname2.pdf"       'Temporäre Datei

Debug.Print ziel2

'eine 2. Exceldatei mit den ausgewählten Tabellenblättern wird erzeugt:

ThisWorkbook.Sheets(Array("Tabelle1", "Tabelle2")).Copy

 

UserForm1.Show (0) ' Hinweistext wird angezeigt

UserForm1.Repaint

 

 

With ActiveWorkbook

                .ExportAsFixedFormat Type:=xlTypePDF, Filename:=ziel2, _

                          Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, _

                          OpenAfterPublish:=False                                               

 

End With

If fso.FileExists(ziel2) = True Then 'Nur wenn das Speichern der temporären datei erfolgreich war

    Call fso.DeleteFile(ziel1) 'Ursprungsdatei löschen

    Call fso.MoveFile(ziel2, ziel1) 'Temporäre Datei umbenennen

End If

ActiveWorkbook.Close savechanges:=False 'Temporäre Exceldatei löschen

Unload UserForm1 'Hinweistext schließen

 

End Sub