Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1628to1632
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Anweisung Exportieren und Umbenennen

Anweisung Exportieren und Umbenennen
14.06.2018 23:40:19
Michael
Ich benötige Hilfe bei einem Code.
Sub PDF_Rechnung()
' Speichert die Rechnung als PDF
Dim sPfad   As String
Dim nPfad   As String
Dim rng As Range
Set rng = Sheets("NOM_LS").Range("A1:H45")
Dim fileName As String
Const Path = "\\SERVERNEU\Daten\lager\PDF Rechnungen Lagerware"
nPfad = (Path & "\" & Format(Date, "yyyy"))
sPfad = (nPfad & "\" & ("Rechnungen"))
fileName = (sPfad & "\" & Format(Date, "mm.dd") & " 001 NOM_RE.pdf")
'Verzeichnisse erstellen, falls nicht vorhanden
If Dir(nPfad, vbDirectory) = "" Then MkDir (nPfad)
If Dir(sPfad, vbDirectory) = "" Then MkDir (sPfad)
'pdf speichern
rng.ExportAsFixedFormat _
fileName:=fileName, _
Type:=xlTypePDF, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
From:=1, To:=1, _
OpenAfterPublish:=False
End Sub
Wie kann ich diesen Code so abändern das er 14 weitere Sheets in einem Rutsch abarbeitet? Natürlich soll jeder Sheet bzw. das pdf einen eigenen Namen anhand einer Liste haben
Die Sheets haben nur Kürzel, die pdf's sollen aber die vollen Namen haben
NOM_LS = "001 Northeim_LS" (Im Code oben verwendet)
ÖLS_LS = "002 Ölsburg_LS"
Ein_LS = "003 Einbeck_LS"
HAN_LS = "004 Hannover_LS"
GÖ_LS = "005 Göttingen_LS"
MK_LS = "007 Marktkauf_LS"
WUNS_LS = "008 Wunstorf_LS"
HM_LS = "009 Hameln_LS"
PEI_LS = "010 Peine_LS"
HOLZ_LS = "011 Holzminden_LS"
MECK_LS = "012 Einbeck_2_LS"
GOS_LS = "015 Goslar_LS"
SPR_LS = "017 Springe_LS"
EMP_LS = "018 Empelde_LS"
BERG_LS = "020 Herzberg_LS"
Vielen Dank in Voraus
Michael

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Anweisung Exportieren und Umbenennen
15.06.2018 00:39:58
Sepp
Hallo Michael,
ungetestet.
Sub PDF_Rechnung()
  ' 
  ' Speichert die Rechnung als PDF 
  ' 
    
  Dim sPfad As String, nPfad As String, strFileName As String, strFilePath As String
  Dim objWS As Worksheet
    
  Const Path = "\\SERVERNEU\Daten\lager\PDF Rechnungen Lagerware"
         
  nPfad = Path & "\" & Format(Date, "yyyy")
  sPfad = nPfad & "\" & "Rechnungen"
  strFilePath = sPfad & "\" & Format(Date, "mm.dd ")
  
  'Verzeichnisse erstellen, falls nicht vorhanden 
  If Dir(nPfad, vbDirectory) = "" Then Call MkDir(nPfad)
  If Dir(sPfad, vbDirectory) = "" Then Call MkDir(sPfad)

  'pdf speichern 
      
  For Each objWS In ThisWorkbook.Worksheets
    Select Case objWS.Name
      Case "NOM_LS":  strFileName = "001 Northeim_LS.pdf"
      Case "ÖLS_LS":  strFileName = "002 Ölsburg_LS.pdf"
      Case "Ein_LS":  strFileName = "003 Einbeck_LS.pdf"
      Case "HAN_LS":  strFileName = "004 Hannover_LS.pdf"
      Case "GÖ_LS":   strFileName = "005 Göttingen_LS.pdf"
      Case "MK_LS":   strFileName = "007 Marktkauf_LS.pdf"
      Case "WUNS_LS": strFileName = "008 Wunstorf_LS.pdf"
      Case "HM_LS":   strFileName = "009 Hameln_LS.pdf"
      Case "PEI_LS":  strFileName = "010 Peine_LS.pdf"
      Case "HOLZ_LS": strFileName = "011 Holzminden_LS.pdf"
      Case "MECK_LS": strFileName = "012 Einbeck_2_LS.pdf"
      Case "GOS_LS":  strFileName = "015 Goslar_LS.pdf"
      Case "SPR_LS":  strFileName = "017 Springe_LS.pdf"
      Case "EMP_LS":  strFileName = "018 Empelde_LS.pdf"
      Case "BERG_LS": strFileName = "020 Herzberg_LS.pdf"
      Case Else:      strFileName = ""
    End Select
    If Len(strFileName) Then
      objWS.Range("A1:H45").ExportAsFixedFormat FileName:=strFilePath & strFileName, _
        Type:=xlTypePDF, Quality:=xlQualityStandard, IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, From:=1, To:=1, OpenAfterPublish:=False
    End If
  Next
End Sub

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: Anweisung Exportieren und Umbenennen
15.06.2018 20:57:04
Michael
Hallo Sepp
Vielen herzlichen Dank für deine Hilfe. Der Code funktioniert einwandfrei. Abgesehen von einem Schreibfehler in meiner Namensliste. Habe mich zuerst gewundert warum 1 Filiale übergangen wurde, hab es dann aber korrigiert.
Eine ganz allgemeine Frage zu deinem und Anderer Code. Du hattest meinen Anfangscode in folgender Weise abgeändert:
Dein Code (nun ohne Klammern):

Const Path = "\\SERVERNEU\Daten\lager\PDF Rechnungen Lagerware"
nPfad = Path & "\" & Format(Date, "yyyy")
sPfad = nPfad & "\" & "Rechnungen"
strFilePath = sPfad & "\" & Format(Date, "mm.dd ")
Dein, von mir wieder zurück geänderter, Code:

Const Path = "\\SERVERNEU\Daten\lager\PDF Rechnungen Lagerware"
nPfad = (Path & "\" & Format(Date, "yyyy"))
sPfad = (nPfad & "\" & ("Rechnungen"))
strFilePath = (sPfad & "\" & Format(Date, "mm.dd "))
Um deinen Code bei mir zum Laufen zu bekommen, musste ich wie in meinem Beispiel (Klammern) um die Pfade setzen. Kann mir jemand erklären woran das liegt. Sind bei mir evtl. andere (Falsche) Einstellungen gesetzt. Oder liegt es an Excel 2010 / VBA 7.0
Viele Grüße
Michael
Anzeige
AW: Anweisung Exportieren und Umbenennen
16.06.2018 12:44:58
Sepp
Hallo Michael,
welche Fehlermeldung erhältst du ohne die ()?
 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: Anweisung Exportieren und Umbenennen
16.06.2018 14:33:17
Michael
Es kommen ganz unterschiedliche Meldungen
Mal kommt "Nicht ausreichend definiert"
Mal kommt die Meldung "Pfad= Leer" (So als ob überhaupt nichts eingetragen wäre)
Mal kommt "Erwarte Bezeichner" oder "Erwarte Anweisungsende"
Und hin und wieder funktioniert es auch ohne Klammern. so wie gerade eben als ich es nochmals ausprobiert habe. Gestern gings nicht ohne.
Schon alles recht merkwürdig.
VG Michael

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige