Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1532to1536
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

Warum funktioniert das nicht?

Warum funktioniert das nicht?
02.01.2017 16:31:37
B S

Hallo zusammen,
folgendes:
Dim strPfad As String
strPfad = ThisWorkbook.Path & "\..\"
ActiveWorkbook.SaveAs Filename:=strPfad & "\Bestellvorschriften\" & "Bestellvorschriften_" & ThisWorkbook.Name, _
FileFormat:=xlNormal
führt zu diesem Fehler:
Laufzeitfehler '1004
Warum? :)
An einer anderen Stelle im Makro funktioniert es und zwar hier...
If Not IsEmpty(.UsedRange) Then
.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=strPfad & "\Bestellvorschriften\" & "\Bestellvorschrift_" & Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 5) & "_" & .Name & ".pdf", _
Quality:=xlQualityStandard
Danke!

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Warum funktioniert das nicht?
02.01.2017 17:31:37
RPP63
Moin!
xlNormal ist eigentlich ein Element von Excel.WindowState
entspricht -4143 und ist somit identisch mit xlWorkbookNormal
Wenn Du eine Mappe ohne Makros abspeichern willst: xlOpenXMLWorkbook aka 51
Mit Makros: xlOpenXMLWorkbookMacroEnabled aka 52
also
ThisWorkbook.SaveAs Filename:=ThisWorkbook.Path& "\Bestellvorschriften\" & "Bestellvorschriften_" & ThisWorkbook.Name, FileFormat:=52
Gruß Ralf
Gruß Ralf
AW: Warum funktioniert das nicht?
02.01.2017 18:19:40
Daniel
Hi
das FileFormat xlNormal kann nur bis Excel Version 2003 verwendet werden.
mit Einführung von Excel 2007 gibt es das FileFormat "xlNormal" nicht mehr, sondern es gibt gleich vier verschiedene Standardtypen, von denen du einen angeben musst:
- .xlsx (xml-Datei ohne Makros) - 51 xlOpenXMLWorkbook
- .xlsm (xml-Datei mit Makros) - 52 xlOpenXMLWorkbookMacroEnabled
- .xlsb (Binär-Datei mit Makros) - 50 xlExcel12
- .xls (Binär-Datei mit Makros im 2003-Format) - 56 xlExcel12
Gruß Daniel
Anzeige
AW: korrektur
02.01.2017 18:30:43
Daniel
- .xls (Binär-Datei mit Makros im 2003-Format) - 56 xlExcel8
für das normale Arbeiten ist xlsb (xlExcel12) das beste, es benötigt den geringsten Speicherplatz und öffnet bei großen Dateien am schnellsten.
xlsx/xlsm ist ein offener Standard für den Austausch mit anderen Tabellenkalkulationen.
Gruß Daniel
Noch ein Hinweis
02.01.2017 18:32:01
RPP63
ThisWorkbook.Name liefert ja auch die Dateiendung im String mit.
Dann sollte der Type auch zur Endung passen.
Oder Du entfernst sie gleich mittels:
Mid(ThisWorkbook.Name, 1, InStrRev(ThisWorkbook.Name, ".")-1)
Gruß Ralf
Anzeige
AW: Warum funktioniert das nicht?
03.01.2017 13:58:56
B S
Hallo zusammen,
danke erstmal für die Antworten!
Jedoch tritt der Fehler nach wie vor auf... Ich habe den verdacht das es am Pfad liegt jedoch keine Ahnung in welcher form!?
Mit Variante 1 Funktioniert es ist jedoch nicht zielführend... Variante 2 gibt den Laufzeitfehler aus.
Variante 1:
Dim strPfad1 As String
strPfad1 = ThisWorkbook.Path
ActiveWorkbook.SaveAs Filename:=strPfad1 & "\Bestellvorschriften_" & ThisWorkbook.Name, _
FileFormat:=xlNormal
Variante 2:
Dim strPfad As String
strPfad = ThisWorkbook.Path & "\..\"
ActiveWorkbook.SaveAs Filename:=strPfad & "\Bestellvorschriften\" & "\Bestellvorschriften_" & ThisWorkbook.Name, _
FileFormat:=xlNormal
Ich hatte das FileFormat editiert um es zu Probieren als auch ThisWorkbook.Name...
Jedoch Zeigt die Variante 2, welche ja funktioniert das das FileFormat als auch ThisWorkbook.Name nicht die verursacher sein können oder?
Anzeige
AW: Warum funktioniert das nicht?
03.01.2017 14:04:51
B S
Und hier noch die Variante die ich editiert habe...
Dim strPfad As String
strPfad = ThisWorkbook.Path & "\..\"
ActiveWorkbook.SaveAs Filename:=strPfad & "\Bestellvorschriften\" & "\Bestellvorschriften_" & Mid(ThisWorkbook.Name, 1, InStrRev(ThisWorkbook.Name, ".") - 1), _
FileFormat:=52
AW: Warum funktioniert das nicht?
04.01.2017 12:50:20
B S
Hat ggf. noch jemand eine Idee?
Ja
04.01.2017 12:57:17
RPP63
Was soll dieses?
strPfad = ThisWorkbook.Path & "\..\"

Gültiger Pfad?
Was sollen die Punkte?
Gruß Ralf
AW: Ja
05.01.2017 09:47:28
B S
Das habe ich im WWW gefunden um
ThisWorkbook.Path
um eine ebene zu reduzieren.
AW: Warum funktioniert das nicht?
04.01.2017 12:59:17
Daniel
Hi
Meines wissen nach war das Fileformat xlNormal nur bis Excel 2003 gültig.
Ab 2007 musst du hier die neuen FileFornat-Nummern angeben, welche auch die neuen Speicherformate berücksichtigen.
Welche das sind kannst du selbst mit Hilfe des Recorders rausfinden.
Gruß Daniel
Anzeige
AW: Warum funktioniert das nicht?
06.01.2017 14:27:32
Daniel
Hi
check nochmal deine fixen Pfadtexte, die sind unterschiedlich.
Variante 1: & "\Bestellvorschriften\" & "Bestellvorschriften_" &
Variante 2: & "\Bestellvorschriften\" & "\Bestellvorschrift_" &
kleiner Tip nur so am Rande: verwende das & zum Verketten von Teiltexten nur dort, wo es notwendig ist.
du reißt aber noch einen eigentich zusammenhängenden Fixtext in zwei Teile, und das wird dann unübersichtlich.
Gruß Daniel

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige