Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
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
Kopie als xlsx speichern
12.06.2018 14:43:21
Nico
Hallo zusammen,
erst einmal kurz zu mir, heiße Nico, mittleren Alters und verfüge über ausreichende Excel-Kenntnisse. VBA ist allerdings völliges Neuland für mich. Den ein oder anderen Makrorekorder habe ich schon genutzt. Aus der Google-Wissens-Datenbank habe ich mir VBA-Bausteine zusammengesucht, die zwei Buttons in meiner aktuellen Projekt-Liste steuern.
Ich habe ein Template erstellt, welches im Augenblick sehr gut funktioniert. Es handelt sich dabei um eine Vorlage für diverse Spediteure die ich mit relevanten Daten füttere. Dann nutze ich den ersten Button, der das Template unter neuem Namen (Verbindung aus Spediteurname und Datum) in einem separatem Unterordner abspeichert, als xlsm Datei.
Danach nutze ich Button 2, der im Outlook eine Mail öffnet, die gespeicherte Datei anhängt und einen Standardtext vorschreibt.
Wie gesagt funktioniert das soweit alles super. Leider haben wir nun einen Spediteur, der keine xlsm Dateien empfangen kann. Und damit fangen meine Probleme an.
Mir ist bewusst, dass ich die Datei durchaus mit Speichern unter als xlxs speichern kann. Allerdings bin ich ein Freund von Automatismen und ziele eine Lösung via VBA an.
wenn ich in meinem jetzigen Makro alles auf xlsx umschreibe, geht die komplette VBA-Programmierung im Hintergrund verloren und mein 2. Button für die Mail funktioniert nicht. Und jetzt brauche ich Eure Hilfe.
Ich möchte gerne, dass das Template
1. als xlsm File gespeichert wird
2. eine Kopie als xlsx Datei abgespeicehrt wird
3. der Mail button funktioniert und die xlsx Datei anhängt
Hier der aktuelle VBA-Code:
Private Sub CommandButton1_Click()
ActiveWorkbook.SaveAs Range("C8").Value, FileFormat:=xlOpenXMLWorkbookMacroEnabled
End Sub
Private Sub CommandButton2_Click()
'Hier definiere ich eine Variable für den Anhang
Dim strAnhang As String
'In der Zelle C8 befindet sich der korrekte Pfad
strAnhang = Range("C8")
'DIESER TEIL ÖFFNET "OUTLOOK"
Set outObj = CreateObject("Outlook.Application")
Set Mail = outObj.CreateItem(0)
'FOLGENDE TEXTE WERDEN IN DIE E-MAIL GESCHRIEBEN
Mail.To = ""
'Betreff:
Mail.Subject = Range("C6").Value
'Mailtext
Mail.Body = "Hello all" & Chr(13) & _
"" & Chr(13) & _
"please find attached the parceladvise" & Chr(13) & _
"" & Chr(13) & _
"Best regards"
'hier soll der Anhantg hinzugefügt werden
Mail.Attachments.Add strAnhang
Mail.Display
Set Mail = Nothing
Set outObj = Nothing
End Sub


		

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

Betreff
Datum
Anwender
Anzeige
AW: Kopie als xlsx speichern
12.06.2018 14:48:24
Nepumuk
Hallo Nico,
benutze an Stelle von xlOpenXMLWorkbookMacroEnabled einfach xlOpenXMLWorkbook
Gruß
Nepumuk
AW: Kopie als xlsx speichern
12.06.2018 14:56:35
Nico
Hallo Nepumuk,
Danke für deine schnelle Antwort. Das erzeugt das Problem, was ich gerne vermeiden möchte. Durch diesen Eintrag wird dieses Avis als xlsx gespeichert, aber dadurch verliere ich die Funktion des zweiten Buttons, oder liege ich da falsch?
Gruß
Nico
AW: Kopie als xlsx speichern
12.06.2018 18:10:25
Nepumuk
Hallo Nico,
solange die Mappe offen ist sind die Makros noch da. Die werden erst beim Schließen entfernt.
Gruß
Nepumuk
AW: Kopie als xlsx speichern
12.06.2018 15:29:39
Daniel
Hi
probiers mal so:
1. der Speichername in C8 sollte nur den Dateinamen ohne die Dateierweiterung enthalten.
diese Dateierweiterung wird beim SaveAs autmatisch hinzugefügt.
2. im Commandbutton1 speicherst du 2x, zuerst als xlsx und dann als xlsm.
die makros bleiben beim SaveAs in der geöffneten Datei erhalten.
Private Sub CommandButton1_Click()
ActiveWorkbook.SaveAs Range("C8").Value, FileFormat:=xlOpenXMLWorkbook
ActiveWorkbook.SaveAs Range("C8").Value, FileFormat:=xlOpenXMLWorkbookMacroEnabled
End Sub
3. hänge im Mail dann die Makrofreie Datei an, C8 sollte wie oben geschrieben den Dateinamen ohne Erweiterung enthalten:
 Mail.Attachments.Add strAnhang & ".xlsx"
Gruß Daniel
Anzeige

157 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige