Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1464to1468
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

xlsm als xlsx - Ich finden den Fehler nicht

xlsm als xlsx - Ich finden den Fehler nicht
14.12.2015 13:42:09
Walter
Hallo,
bin am Verzweifeln. Versuche schon seit Stunden hinzubekommen eine xlsm-Datei als xlsx-Datei zu speichern OHNE ausführbare Makros. Die Datei wird auch als xlsx-Datei gespeichert und als Anhang in meine Outlook-Mail gehangen, allerdings kann ich trotzdem die Makros (die ich einer elliptischen Form zugewiesen habe) ausführen.
Auffällig ist das die Makros wohl auf die ursprüngliche xlsm-Datei zu greifen, denn diese Datei (xlsm) wird automatisch beim Ausführen geöffnet.
Was auch noch auffällig ist, das ich beim Speichern als xlsx keine Hinweismeldung bekomme, das die Makros dann nicht mehr ausführbar sind.
Ich hoffe das jemand den Haken an meinem Code sieht. Ich sehe ihn definitiv nicht :(
Danke und Gruß
Walter
Sub BlattSenden()
'** Das aktive Tabellenblatt wird über Outlook versendet
'** Dimensionierung der Variablen
Dim strBlatt As String
Dim strDatei As String
Dim strPfad As String
Dim outObj As Object
Dim Mail As Object
Dim strBodyText As String
Dim strMaschTyp As String
Dim Datum As Date
Set outObj = CreateObject("Outlook.Application")
Set Mail = outObj.CreateItem(0)
strMaschTyp = "Palettierer"
Datum = Date
'** Pfad für temporäre Zwischenspeicherung angeben
strPfad = "C:\Temp" 'entsprechend anpassen
'** Aktuelles aktives Blatt in neue Arbeitsmappe kopieren
strBlatt = ActiveSheet.Name
'** Gewähltes Tabellenblatt kopieren
Sheets(strBlatt).Copy
'** Blatt temporär in vorgegebenes Verzeichnis abspeichern
ActiveWorkbook.SaveAs strPfad & "\" & ActiveSheet.Name & "_" & strMaschTyp & "_" & Datum & ". _
xlsx", FileFormat:=xlOpenXMLWorkbook
'** Pfad und Dateiname der neuen Datei zwischenspeichern
strDatei = ActiveWorkbook.FullName
'** Body-Text festlegen
strBodyText = _
"TEXT" & vbCr & vbCr & "Mit freundlichen Grüßen"
'** Mail erzeugen
With Mail
.To = ""
.CC = ""
.Subject = "UPDATE - Kostentabelle " & strMaschTyp & " " & Datum  'Betreff
.BodyFormat = 2 '2 = HTML, 1 = Text
.Attachments.Add strDatei 'Anhang
.Body = strBodyText 'Bodytext / Signatur
End With
'** Erzeugte Datei schließen
Workbooks(Dir(strDatei)).Close
'** Erzeugte Datei wieder löschen
Kill (strDatei)
'** E-Mail anzeigen
Mail.Display
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: xlsm als xlsx - Ich finden den Fehler nicht
14.12.2015 14:29:36
Rudi
Hallo,
das ich beim Speichern als xlsx keine Hinweismeldung bekomme
die Datei enthält ja auch keine Makros.
Wenn du das Blatt inkl. Shapes kopierst bleiben die Makrozuweisungen erhalten.
Lösche sie dem Kopieren.
Motto:
  For Each s In ActiveSheet.Shapes
s.OnAction = ""
Next
Die Dateiendung solltest du beim Speichern besser nicht angeben, da sie durch die FileFormat-Eigenschaft festgelegt ist.
ActiveWorkbook.SaveAs strPfad & "\" & ActiveSheet.Name & "_" & strMaschTyp & "_" & Datum, FileFormat:=xlOpenXMLWorkbook
Gruß
Rudi

Anzeige
AW: xlsm als xlsx - Ich finden den Fehler nicht
16.12.2015 07:24:31
Walter
Hallo Rudi,
danke für deine Denkanstöße die mir auf jeden Fall weitergeholfen haben.
Jetzt ist mir klar! Ich bekomme keine Meldung das die Makros dann nicht mehr Ausführbar sind, da die erzeugte Kopie bereits das xlsx-Format besitzt und auch keine Makros enthält.
Deinen 2. Hinweis "File-Format" hatte ich zuvor schon versucht umzusetzen, da dies ja doppelt gemoppelt ist. Allerdings habe ich da das Problem das die erzeugte Datei ohne die Format-Endung in der Mail angehangen wird und nach dem Senden auch nicht als Excel-Datei beim öffnen erkannt wird.
Kannst du das mal prüfen, wenn es deine Zeit zulässt?
Gruß
Walter
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige