ich habe ein Makro zusammengebaut welches eine Datei öffnet und die einzelnen Tabellenblätter im gleichen Pfad als einzelne Dateien abspeichert.
Diese Dateien werden anschließend mit Betreff und Text in eine E-Mail gepackt und werden verschickt.
Dies funktioniert allerdings nur mit von mir erstellten Basisdateien im .xlsx oder .xlsm Format.
Leider handelt es sich bei der Basisdatei um eine .xls 97-03.
Meine Idee war es zuerst die Basisdatei zu öffnen, als xlsm oder xlsx abzulegen um diese _ anschließend wieder zu öffnen um das Makro ausführen zu können. Dies funktioniert leider auch nicht ... auf keine Weise lässt sich die Basis verarbeiten.
Sub GesundheitsgesprächeImportundEmail()
Dim Datei As String
Dim Datei2 As String
Dim oWs As Worksheet
Dim outObj As Object
Dim Mail As Object
Dim Pfad As String
On Error GoTo Fehler
Datei = Application.GetOpenFilename("alle Excel-Dateien(*),*xls")
If Datei = "Falsch" Then
MsgBox "keine Datei ausgewählt", , "Abbruch"
Exit Sub
End If
MsgBox "Ausgewählte Datei: " & Datei, , ""
Application.DisplayAlerts = False
Workbooks.Open Filename:=Datei, Local:=True
'ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & ActiveWorkbook.Name & ".xlsx", _
FileFormat:=xlOpenXMLWorkbookApplication 'xlOpenXMLWorkbookMacroEnabled
'ActiveWorkbook.Close
'On Error GoTo Fehler
'Datei2 = Application.GetOpenFilename("alle Excel-Dateien(*),*xls")
'If Datei2 = "Falsch" Then
' MsgBox "keine Datei ausgewählt", , "Abbruch"
' Exit Sub
'End If
'Workbooks.Open Filename:=Datei2, Local:=True
Call Blätter_einzeln_speichern
Pfad = ThisWorkbook.Worksheets(1).Cells(39, 4).Value
Dateiname1 = ThisWorkbook.Worksheets(1).Range("F8")
Application.DisplayAlerts = True
Set outObj = CreateObject("Outlook.Application")
Set Mail = outObj.CreateItem(0)
With Mail
.Subject = "XXX"
.Body = "XXX"
.To = ThisWorkbook.Worksheets("A").Range("D8")
.Attachments.Add Pfad1
.send
End With
'Mail.Display
Set Mail = Nothing
Set outObj = Nothing
Exit Sub
Fehler:
Set Quelle = Nothing
Set Ziel = Nothing
MsgBox "FehlerNr.: " & Err.Number & vbNewLine & vbNewLine _
& "Beschreibung: " & Err.Description _
, vbCritical, "Fehler"
End Sub
Sub Blätter_einzeln_speichern()
Dim ws As Worksheet
For Each ws In Sheets
ws.Copy
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & ActiveSheet.Name & ".xls"
ActiveWorkbook.Close True
Next ws
End Sub
Gibt es überhaupt eine Möglichkeit auf Grundlage der alten Excel Datei?Ich habe keine Chance diese neu aufzusetzen oder Ähnliches, da es sich um exteren Informationen handelt.
Ich hoffe ihr könnt mir weiterhelfen und danke vielmals im voraus!
LG
Robert