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

Unterschied Excel 210 zu 2016 bei VBA-Programmieru

Unterschied Excel 210 zu 2016 bei VBA-Programmieru
23.05.2019 09:48:00
Andreas
Hallo zusammen,
ich habe in einer Datei einen VBA-Code der das "Speichern unter"-Formular aufruft.
Da ist der Pfad und der Name der abzuspeichernden Datei enthalten.
Unter Office 2010 läuft alles einwandfrei.
Nun wird bei uns teilweise auf Office 2016 umgestellt und da wird der Dialog nicht mehr angezeigt.
Excel zeigt mir den Reiter "Datei" das Fenster "Speichern unter" an, und hier muss man erst auf "Durchsuchen" klicken und dann wird erst das "Speichern unter"-Fenster angezeigt. Der Pfad und der Name aus dem VBA-Code passen.
Gibt es einen Unterschied zwischen 2010 und 2016 in der Programmierung? Kann dieser "Zwischenschritt" beim abspeichern übersprungen werden?
Vielen Dank im voraus.
Andreas

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Doppelt owT
23.05.2019 09:51:51
SF
AW: Unterschied Excel 210 zu 2016 bei VBA-Programmieru
23.05.2019 10:23:24
mumpel
Hallo!
Schau Dir Application.GetSaveAsFilename an.
Gruß, René
AW: Unterschied Excel 210 zu 2016 bei VBA-Programmieru
23.05.2019 11:32:49
Andreas
Hallo Rene,
ich habe mir das durchgelesen, ich finde aber den Fehler nicht.
Unter Excel 2010 funktioniert es ja auch einwandfrei, nur unter Excel 2016 erscheint der "Speichern unter"- Dialog nicht.
Deshalb meine Frage. Gibt es Unterschiede, die man beachten muss?
Viele Grüße
Andreas
AW: Unterschied Excel 210 zu 2016 bei VBA-Programmieru
23.05.2019 12:42:22
mumpel
Dann zeig uns mal Deinen Code.
AW: Unterschied Excel 210 zu 2016 bei VBA-Programmieru
23.05.2019 12:52:08
Andreas
Hier ist er. Aber wie gesagt unter Excel 2010 mach er was er soll.
Der Code ist in einer .xltm-Datei. Er prüft ob die Datei schon abgespeichert wurde, wenn nicht öffnet sich der Speichern-Dialog. Ort und Name liest er aus einer Zelle. Die Datei wird mit dem Namen und einer fortlaufender Nummer abgespeichert.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim varWorkbookName
Dim Nr As Long
If Me.Path = "" Then
Application.EnableEvents = False
varWorkbookName = Sheets("Tabelle1").Range("A30").Value & Sheets("Tabelle1").Range("A33" _
).Value & "_00001.xlsm"
If Dir(varWorkbookName)  "" Then
Nr = 1
Do
varWorkbookName = Left(varWorkbookName, InStr(varWorkbookName, ".") - 2) & Trim( _
Str(Nr)) & ".xlsm"
Nr = Nr + 1
Loop Until Dir(varWorkbookName) = ""
End If
varWorkbookName = Application.GetSaveAsFilename(varWorkbookName, FileFilter:="Excel- _
Arbeitsmappe mit Makros (*.xlsm), *.xlsm", Title:="Speichern als")
If VarType(varWorkbookName) = vbBoolean Then
Cancel = True
End If
If Not Cancel Then
ThisWorkbook.SaveAs Filename:=varWorkbookName, FileFormat:=52
End If
Cancel = True
Application.EnableEvents = True
End If
End Sub

Viele Grüße
Andreas
Anzeige
AW: Unterschied Excel 210 zu 2016 bei VBA-Programmieru
23.05.2019 13:25:09
Rudi
Hallo,
bei einer ungespeicherten Datei ist der Befehl 'Speichern' schon immer 'Speichern unter'. In XL2016 wird das BeforeSave-Event bei 'Speichern unter' erst mit Klick auf 'Durchsuchen' ausgelöst.
Um den Klick kommst du nicht herum.
Gruß
Rudi
AW: Unterschied Excel 210 zu 2016 bei VBA-Programmieru
23.05.2019 14:54:51
Andreas
Danke. Das ist schonmal eine Info die ich bisher so nicht gefunden habe.
Dann muss ich das so weitergeben.
D.h. das nach der erfolgreichen Umstellung der ganzen PCs auf Office 2016 (ist gerade im Gange), bei ungespeicherten Dateien (.xltm) dann immer erst auf "Durchsuchen" geklickt werden muss.
Habe ich das richtig verstanden?
Viele Grüße
Andreas
Anzeige
Ja
24.05.2019 09:30:23
robert
AW: Ja
24.05.2019 09:44:37
Andreas
Danke.
AW: Unterschied Excel 210 zu 2016 bei VBA-Programmieru
24.05.2019 12:02:06
mumpel
"Speichern" und "Speichern unter" im Dateimenü kann man per RibbonxX ausblenden und durch eine eigene Prozedur ersetzen. Man kann den Speichern-Unter-Befehl über die Command-Ebene in der RibbonX-Definition umlenken, da kann dann über eine eigene Prozedur so einiges gemacht werden, wobei der Name der Datei beim Schließen der Datei geprüft werden kann (Workbook_BeforeClose).

Zitat:
Um den Klick kommst du nicht herum.
____________________________
Quelle: Herber-Forum


Wenn man anders rangeht kann man das schon umgehen. Funktioniert bei mir ohne Probleme, aber der Programmieraufwand dafür ist höher.
Anzeige
Nachtrag
24.05.2019 12:04:34
mumpel
Vielleicht auch mal darüber nachdenken ob es wirklich eine xltm sein muss, oder ob nicht auch eine normale schreibgeschützte Arbeitsmappe als Vorlage dienen kann die dann immer unter einem anderen Namen gespeichert wird.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige