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

call.execute funktioniert nicht mehr

call.execute funktioniert nicht mehr
19.01.2022 09:06:22
Bernhard
Hallo Experten,
ich habe ein Problem mit einer schreibgeschützten Datei, bei deren Speicherung ein einheitliches Namensformat gewählt werden soll. Mit Hilfe aus diesem Forum wurde das so geregelt:
Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim objFileDialog As FileDialog
Dim wks1 As Worksheet, wks2 As Worksheet
...
...
If ThisWorkbook.ReadOnly Then
Application.EnableEvents = False
Set objFileDialog = Application.FileDialog(msoFileDialogSaveAs)
With objFileDialog
.FilterIndex = 2 '2 = .xlsm
.InitialFileName = ThisWorkbook.Path & "\" & "TP.Vs33-" & wks1.Cells(2, 10) & "-" & wks1.Cells(1, 2) & "-" & wks1.Cells(1, 10).Text
If .Show Then
Call .Execute
End If
End With
Else
ThisWorkbook.Save
End If
Das lief immer ohne Probleme. Ich habe nun an einigen Makros gearbeitet. Beim Problelauf funktionierte für mich völlig überraschend dieser Mechanismus aber nun nicht mehr, obwohl ich daran gar nicht rumgefummelt habe. Anzumerken ist, dass sich bei den "Baumaßnahmen" die Datei auch mal aufgehängt hat, weil ich mich ungeschickt angestellt habe.
Die Datei wird nicht gespeichert. Ich habe mir Markierungen gesetzt und festgestellt, dass es nach Call.Execute nicht weitergeht. Eine Fehlermeldung kommt nicht.
Hat jemand eine Idee, woran das liegen kann ?
Gruß Bernhard

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

Betreff
Datum
Anwender
Anzeige
AW: call.execute funktioniert nicht mehr
19.01.2022 17:53:56
Yal
Hallo Bernhard,
was macht der Execute ausser die Datei speichern? Wenn Execute nichts macht, dann selber speichern.

Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim wks1 As Worksheet
Dim wks2 As Worksheet
If ThisWorkbook.ReadOnly Then
Application.EnableEvents = False
With Application.FileDialog(msoFileDialogSaveAs)
.FilterIndex = 2 '2 = .xlsm
.InitialFileName = ThisWorkbook.Path & "\" & "TP.Vs33-" & wks1.Cells(2, 10) & "-" & wks1.Cells(1, 2) & "-" & wks1.Cells(1, 10).Text
If .Show Then
ThisWorkbook.SaveAs .SelectedItems(1), xlOpenXMLWorkbookMacroEnabled '.xlsm
End If
End With
Else
ThisWorkbook.Save
End If
End Sub
(Ich habe den FileDialog-Objekt gespart, da es nirgendwo anders verwendet wird, als im With, was eine unnötige Doppelung der Referenzierung darstellt)
Auf einer Rückmeldung freut man sich immer.
VG
Yal
Anzeige
AW: call.execute funktioniert nicht mehr
19.01.2022 21:31:23
Bernhard
Hallo Yal,
Execute machte nichts anderes als die Dateispeicherung. Ich hab das so gemäß Empfehlung in diesem Forum eingebaut. Von FileDialog etc habe ich gar keine Ahnung.
Ich war einfach froh, dass es klappte (für Wochen) und um so mehr überrascht, als es wie von Geisterhand plötzlich nicht mehr ging, obwohl ich an der Speicherung nichts gravierendes geändert hatte. Ich hab das Makro mit der weiter funktionierenden Vorgängerversion verglichen und konnte diesbezüglich keine Unterschiede feststellen. Keine Ahnung mit welchen missclicks ich das hinbekommen habe. Ich glaube, dass ist etwas für Tiefseetaucher. Ich habe nur einen Schnorchel.
Es hat geklappt. Vielen Dank !
LG Bernhard
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige