Excel 2024 VBA ActiveSheet.ExportAsFixedFormat Fehler 1004 in Nextcloud-Ordner
Moin,
ich migriere gerade von Win auf Mac. Nextcloud-Clients sind auf Win und Mac am Laufen und syncen die Dateien. Office 2024 for Mac (kein 365-Gedöns).
Eine der Dateien beinhaltet ein VBA-Makro, welches PDF-Dateien erzeugen soll:
sPath = ActiveWorkbook.Path
'sPath = "/Users/<username>/Documents" 'Test für Mac
sFileName = (Format$(Now(), "yy-mm-dd") & ActiveSheet.Range("k10").Value)
On Error Resume Next
fileNum = FreeFile
Open sPath & "/" & sFileName For Output As #fileNum
Close #fileNum
If Err.Number = 0 Then
Kill testFile ' Datei wieder löschen
HasWriteAccess = True
MsgBox "Habe Schreibrechte für: " & sPath & "/" & sFileName
Else
HasWriteAccess = False
MsgBox "Habe KEINE Schreibrechte für: " & sPath & "/" & sFileName
End If
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=sPath & "/" & sFileName, _
Quality:=xlQualityMinimum, _
IncludeDocProperties:=False, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
Unter WIN läuft das Script durch, es stört sich auch nicht am Mischmasch aus Backslash (aus ActiveWorkbook.Path) und dem Slash bei Filename:=sPath & "/" & sFileName.
Lasse ich 'sPath = "/Users/<username>/Documents" drin, läuft das Script unter MAC durch und legt die PDF in den Documents-Ordner. Auskommentiert liefert ActiveWorkbook.Path zwar einen sauberen "/"-Pfad zum Nextcloud-Storage:
Habe KEINE Schreibrechte für: /Users/<username>/Library/CloudStorage/Nextcloud-<nextcloudusername>/<...>/2026-04/26-04-15 1
Wie Ihr seht, moniert VBA aber, keine Schreibrechte in diesem Ordner zu haben. Folglich stolpert das anschliessende ActiveSheet.ExportAsFixedFormat in einen 1004-Error.
Speichere ich die ActiveSheet manuell über das Menü als PDF, kann ich sie ohne weitere Nachfrage nach irgendwelchen Rechten in diesem Storage-Pfad ablegen.
Der Finder weist mir auch Schreib- und Leserechte für diesen Pfad aus.
Ich vermute mal, VBA ist ein anderer Prozess als Excel selbst. Excel selbst hatte ja ganz am Anfang nach Rechten auf diesem Nextcloud-Ordner gefragt (und ich ihm gewährt).
Welchen Befehl müsste ich in VBA einbauen, um auch diesem Prozess Zugriff auf die Nextcloud-Sandbox zu gewähren?
Oder vermag ich das irgenwie manuell ins System einbringen, dass auch VBA in den Nextcloud-Bereich schreiben darf?
Oder denke ich falsch?
Grüße, Leora
MacBook Air 15″, macOS 26.4