Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Fehler 1004

Forumthread: Fehler 1004

Fehler 1004
Steve
Hallo,
Ich habe ein kleines problem mit Win7.
Bei folgendem schritt bekomme ich einen fehler:

ActiveWorkbook.SaveAs verzeichnis & "\" & DateiName
ActiveWorkbook.Save

un zwar:

Error run-time 1004

In windows XP funktioniert es gut.
Was kann oder muss ich ändern?
Besten Dank
Steve
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Fehler 1004 wegen FileFormat
11.02.2012 21:29:35
Josef

Hallo Steve,
das hat nichts mit Win7 sondern mit Office2010 zu tun, Seit XL2007 musst bei SaveAs das DateiFormat zwingend angegeben werden.

« Gruß Sepp »

Anzeige
AW: Fehler 1004 wegen FileFormat
11.02.2012 21:34:20
Steve
Hallo Sepp,
Das heisst das man den dateinamen ohne ".xlsx" angeben muss, aber dafür unter dem format?
Danke
Steve
AW: Fehler 1004 wegen FileFormat
11.02.2012 21:52:46
Josef

Hallo Steve,
nein, die Dateierweiterung muss schon angegeben werden!
Sub nn()
  Dim strFilename As String
  
  strFilename = "E:\Test.xls"
  ActiveWindow.SaveAs Filename:=strFilename, FileFormat:=-4143
  
  'oder
  strFilename = "E:\Test.xlsx"
  ActiveWindow.SaveAs Filename:=strFilename, FileFormat:=51
  
  'oder
  strFilename = "E:\Test.xlsm"
  ActiveWindow.SaveAs Filename:=strFilename, FileFormat:=52
End Sub



'oder automatisch
Sub nnn()
  Dim strFilename As String, strExt As String, lngFF As Long
  
  strFilename = "E:\Test"
  
  getFileExtAndFormat ActiveWorkbook, strExt, lngFF
  
  ActiveWorkbook.SaveAs Filename:=strFilename & strExt, FileFormat:=lngFF
  
End Sub



Function getFileExtAndFormat(ByRef WB As Workbook, ByRef strExt As String, ByRef lngFormat As Long)
  With WB
    If Val(Application.Version) < 12 Then
      strExt = ".xls": lngFormat = -4143
    Else
      Select Case WB.FileFormat
        Case 51: strExt = ".xlsx": lngFormat = 51
        Case 52:
          If .HasVBProject Then
            strExt = ".xlsm": lngFormat = 52
          Else
            strExt = ".xlsx": lngFormat = 51
          End If
        Case 56: strExt = ".xls": lngFormat = 56
        Case Else: strExt = ".xlsb": lngFormat = 50
      End Select
    End If
  End With
End Function



« Gruß Sepp »

Anzeige
AW: Fehler 1004 wegen FileFormat
12.02.2012 15:38:21
Steve
Besten dank Sepp, es läuft!
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige