Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Abspeichern in variablen Ordner

VBA Abspeichern in variablen Ordner
13.03.2009 12:37:34
Danomat
Hi,
folgendes Problem
In Zelle C1 steht der aktuelle Monat. Nun möchte ich die Datei als PDF abspeichern:
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"G:\Dokumente\Berichtswesen\Monatsreporting\02 Februar\Test.pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
Den Ordner bzw. Pfad möchte ich jetzt variabel an Zelle C1 knüpfen. Also das er ggf. im März automatisch einen Ordner "März" erstellt und dort die Datei abspeichert.
Vielen Dank im Voraus
Gruß
Daniel

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Abspeichern in variablen Ordner
13.03.2009 12:54:44
Tino
Hallo,
versuche es mal so.
Option Explicit
Private Declare Function apiCreateFullPath _
Lib "imagehlp.dll" Alias "MakeSureDirectoryPathExists" (ByVal lpPath As String) As Long

Sub Test()
Dim strFile As String
strFile = "J:\Dokumente\Berichtswesen\Monatsreporting\02 Februar\Test.pdf"

apiCreateFullPath Left$(strFile, InStrRev(strFile, "\"))


ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strFile _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True

End Sub


Gruß Tino

Anzeige
mit Absicherung
13.03.2009 12:58:38
Tino
Hallo,
so wird auch geprüft ob der Ordner vorhanden ist bzw. angelegt wurde.
Private Declare Function apiCreateFullPath _
Lib "imagehlp.dll" Alias "MakeSureDirectoryPathExists" (ByVal lpPath As String) As Long

Sub Test()
Dim strFile As String
Dim lngPahth As Long
strFile = "V:\Dokumente\Berichtswesen\Monatsreporting\02 Februar\Test.pdf"

lngPahth = apiCreateFullPath(Left$(strFile, InStrRev(strFile, "\")))

    If lngPahth = 1 Then
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strFile _
    , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
    :=False, OpenAfterPublish:=True
    Else
     MsgBox "Ordner konnte nicht angelegt oder gefunden werden!", vbCritical
    End If

End Sub


Gruß Tino

Anzeige
AW: mit Absicherung
13.03.2009 13:40:26
Danomat
ok, war vielleicht etwas missverständlich. Der Pfad ist dynamisch, also wenn in Zelle C1 Februar steht, dann soll er die Datei in "G:\Dokumente\Berichtswesen\Monatsreporting\02 Februar\Test.pdf" abspeichern.
Steht in der Zelle C1 der Monat März, so soll er die Datei in "G:\Dokumente\Berichtswesen\Monatsreporting\03 März\Test.pdf" abspeichern und falls der Ordner noch nicht vorhanden ist, denn ggf. erstellen.
Gruß
Daniel
AW: mit Absicherung
13.03.2009 13:42:10
Jogy
Hi.
Geht so:

Sub Test()
Dim strFile As String
Dim lngPahth As Long
strFile = "V:\Dokumente\Berichtswesen\Monatsreporting\" & _
Format("1. " & Cells(3, 1).Text, "mm") & " " & Cells(3, 1) & "\Test.pdf"
lngPahth = apiCreateFullPath(Left$(strFile, InStrRev(strFile, "\")))
If lngPahth = 1 Then
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strFile _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
Else
MsgBox "Ordner konnte nicht angelegt oder gefunden werden!", vbCritical
End If
End Sub

Gruss, Jogy

Anzeige
AW: mit Absicherung
13.03.2009 13:42:58
Jogy
Hi.
Sorry, war hab die Zahlen bei Cells vertauscht, ist Cells(1, 3) statt Cells(3, 1)
Gruss, Jogy
AW: mit Absicherung
13.03.2009 14:14:01
Danomat
Ok, funktioniert!!!
Besten Dank
Viele Grüße
Daniel
ok. hat sich ja erledigt. oT.
13.03.2009 14:26:20
Tino
AW: mit Absicherung
13.03.2009 14:00:21
Tino
Hallo,
wie steht der Monat in der Zelle C1,
als Datum, als Name oder nur als Zahl?
Gruß Tino
AW: mit Absicherung
13.03.2009 14:15:12
Danomat
Ganz normal als Name. (Februar)

327 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige