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

VBA speichern und schliessen

VBA speichern und schliessen
25.08.2018 07:46:30
Marquardt
Guten Morgen,
ich möchte zum Abschluss die Datei speichern und schließen. Folgendes habe ich dazu gefunden. Jetzt wird nur gespeichert und geschlossen, wenn vorher eine Veränderung vorgenommen wurde.
Ich möchte aber das die Datei immer gespeichert und geschlossen wird.
If ThisWorkbook.Saved = False Then
Antwort = MsgBox("Die Datei wird jetzt gespeichert und zusammen mit dem Programm geschlossen!" & Chr(13) & Chr(13) & "Bitte vergessen Sie nicht, die erzeugte Mail auf Richtigkeit zu prüfen und zu versenden." & Chr(13) & Chr(13) & "Vielen Dank!", vbInformation + vbOKOnly, "Test")
If Antwort = vbOK Then
ThisWorkbook.Save
ThisWorkbook.Close SaveChanges:=False
End If
End If
Kann mir jemand helfen?
Vielen Dank.

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA speichern und schliessen
25.08.2018 07:54:36
MatthiasG
Hallo Marquardt,
einfach nur

ThisWorkbook.Save
ThisWorkbook.Close

Gruß Matthias
AW: VBA speichern und schliessen
25.08.2018 08:08:47
Marquardt
Hallo Matthias,
ich hätte noch 1000 Fragen!
Vielen Dank und ein schönes Wochenende!
AW: VBA speichern und schliessen
25.08.2018 08:44:06
MatthiasG
Hallo Marquardt,
frag doch. Dazu ist dieses Forum da.
Aber nicht alle Fragen auf einmal :-)
Gruß Matthias
AW: VBA speichern und schliessen
25.08.2018 09:18:11
Marquardt
Hallo Matthias,
leider geht es doch nicht. Gespeichert und geschlossen wird nur, wenn ich vorher nicht manuell gespeichert habe.
Hast Du noch eine Idee?
Gruß Detlef
AW: VBA speichern und schliessen
25.08.2018 09:28:36
MatthiasG
Hallo Detlef,
zeig' mal das ganze Makro.
Gruß Matthias
Anzeige
AW: VBA speichern und schliessen
25.08.2018 09:36:37
Marquardt
Hallo Mattias,
wie kann ich das richtig einfügen (pre)?
Gruß Detlef
AW: VBA speichern und schliessen
25.08.2018 09:39:59
MatthiasG
genau.
vorne [pre] und hinten [/pre], aber spitze statt eckiger Klammern.
Gruß Matthias
AW: VBA speichern und schliessen
25.08.2018 09:48:52
Marquardt
Zur Erklärung noch.
0 Prüfung auf leere Felder
1 Umwandung in Pdf
2 Es wird eine Mail geöffnet. Alle Eintragungen werden aus der Tabelle geholt.
3 Hinweis was als Anlage hinzugefügt werden muss
4 Dann können die Anlagen ausgewählt werden.
5 Jetzt soll gespeichert und geschlossen werden.
(Die Signatur muss erhalten bleiben)
[pre]
Sub ExcelabnahmeprotokollLadenbau()
Dim chkRange As Range, myC As Range
Dim msg As String
'Hier die Zellen eintragen die geprüft werden sollen
Set chkRange = Sheets("Abnahme").Range("A6,A8,d10,B6,g3,e260")
'Ab hier nichts mehr ändern
msg = ""
For Each myC In chkRange
If IsEmpty(myC) Then
msg = msg & myC.Address & vbCrLf
End If
Next
If msg = "" Then
Else
MsgBox "Folgende Zellen sind leer:" & Chr(13) & vbCrLf & msg, vbInformation + vbOKOnly, "Prü _
fergebnis"
Exit Sub
End If
ChDir ThisWorkbook.Path 'anpassen 'oder thisworkbook.path
Sheets("Abnahme").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "\" & Sheets("Abnahme").Range("T1").Value & ".pdf", Quality:= _
xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
Dim objOutlook As Object
Dim objMail As Object
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.createItem(0)
With objMail
.GetInspector     ' sorgt für die Signatur
.To = Sheets("Abnahme").Range("S3").Value
.CC = Sheets("Abnahme").Range("t4").Value
.BCC = Sheets("Abnahme").Range("t5").Value
.Subject = ThisWorkbook.Worksheets("Abnahme").Range("T1")
.body = Sheets("Abnahme").Range("T2").Value & .body
.Display        'Erstellt die Email und öffnet diese. Der Versand erfolgt anschließend  _
manuell vom User!
MsgBox ("ACHTUNG!" & Chr(13) & Chr(13) & "Fügen Sie folgende Anlage an:" & Chr(13) & Chr(13) _
& "- die Datei mit dem Namen:" & Chr(13) & Chr(13) & "          " & Sheets("Abnahme").Range("t1") & ".pdf" & Chr(13) & Chr(13) & "- die Bilder* für " & Sheets("Abnahme").Range("f255") & " Mängelpunkte (1,2,3, usw.)" & Chr(13) & "   *Die Bilder sind im Formular aufsteigend durchnummeriert!)" & Chr(13) & Chr(13) & "Bitte die zu sendende(n) Datei(en) auswählen!"), vbInformation, "Bestandsmanagement der Objektverwaltung Ponholz"
Set fdOpen = Application.FileDialog(msoFileDialogOpen)
With fdOpen
.AllowMultiSelect = True
.InitialView = msoFileDialogViewList
.InitialFileName = ActiveWorkbook.Path
.Title = "Bitte die zu sendende(n) Datei(en) auswählen!"
.ButtonName = "als Anlage zur E-Mail senden"
If .Show = True Then
Dim i As Integer
If .SelectedItems.Count > 0 Then
For i = 1 To .SelectedItems.Count
objMail.attachments.Add .SelectedItems(i)
Next
End If
End If
If ThisWorkbook.Saved = False Then
Antwort = MsgBox("Die Datei wird jetzt gespeichert und zusammen mit dem Programm  _
geschlossen!" & Chr(13) & Chr(13) & "Bitte vergessen Sie nicht, die erzeugte Mail auf Richtigkeit zu prüfen und zu versenden." & Chr(13) & Chr(13) & "Vielen Dank!", vbInformation + vbOKOnly, "Bestandsmanagement der Objektverwaltung Ponholz")
If Antwort = vbOK Then
ThisWorkbook.Save
ThisWorkbook.Close
End If
End If
End With
End With
SendKeys body
End Sub

[\pre]
Anzeige
AW: VBA speichern und schliessen
25.08.2018 10:36:11
MatthiasG
Hallo Detlef,
1. Deine Block-Einrückungen sind etwas verwirrend (If-Then, With).
2. Ich meinte, du sollst den gesamten Block
If ThisWorkbook.Saved = False
End If

Ersetzen durch den Code

ThisWorkbook.Save
ThisWorkbook.Close

Also keine If-Abfrage, ob das WB geändert wurde.
3. Die SendKeys-Prozedur wird dann nicht mehr ausgeführt, weil vorher die Mappe (und damit auch der Code) geschlossen wird.
4. Was meinst du mit Signatur?
5. Spitze Klammern, nicht eckige. Die Website erkennt allerdings Sub und End Sub und fügt dann die Markierung automatisch ein.
Gruß Matthias
Anzeige
AW: VBA speichern und schliessen
25.08.2018 14:07:37
Marquardt
Hallo Matthias,
leider bin ich nicht so gut in der Angelegenheit. Was Du wohl schon gemerkt hat. Aber Du hast trotz meiner fragwürdigen Leistung nicht von oben herab geantwortet. Dafür möchte ich Dir danken.
Ich bin kein Profi und wie ich schon geschrieben habe, sind meine Fragen .... (tausende)!
Ich werde noch etwas probieren und dann wird es schon gehen. Das ganze ist auch etwas speziell.
Gruß Detlef und vielen Dank.

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige