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

Application.Dialogs(xlDialogSaveAs).Show

Application.Dialogs(xlDialogSaveAs).Show
08.07.2020 21:22:35
Doc
Hallo,
ich möchte via Pop-up eine Datei speichern untern. Der Dateiname der Datei ist bereits vorbelegt, dass klappt auch soweit. Nun möchte ich jedoch den Datei-Typ explizit vorbelegen. Hierzu habe ich etwas probiert und den Hinweis auf die "51" als Dateityp gefunden. Ich habe verschiedene Konstellationen probiert aber entweder den Dateinamen oder den Typ beides klappt nicht, daher ist im nachfolgenden die 51 auskommentiert. Wer hat einen Tipp?
Application.Dialogs(xlDialogSaveAs).Show (strFilename) '& 51

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Application.Dialogs(xlDialogSaveAs).Show
08.07.2020 21:57:19
ralf_b
versuch mal das
erfolg = Application.Dialogs(xlDialogSaveAs).Show(Liganame, 52)
AW: Application.Dialogs(xlDialogSaveAs).Show
08.07.2020 22:12:25
Werner
Hallo,
so:
strFilename = "DieDatei"
Application.Dialogs(xlDialogSaveAs).Show (strFilename), 51
Gruß Werner
AW: Application.Dialogs(xlDialogSaveAs).Show
09.07.2020 08:09:29
Doc
Hallo Werner,
Danke, damit ist zwar das Format vorbelegt aber der Dateiname (Vorbelegung) zum Speichern unter... weg. Ich vermute es liegt daran, dass ich die Datei vorher als *csv öffne und diesen Wert dann mitgeben:
'**Dateifilter**
strFilter = "Excel-Dateien(*.csv*), *.csv*"
'**Vorbelgung Pfad**
ChDrive "D"
ChDir "D:\xxx
'**Den im Dialogfeld gewählten Namen auslesen**
strFilename = Application.GetOpenFilename(strFilter)
'Dialog speichern unter
Application.Dialogs(xlDialogSaveAs).Show (strFilename), 51
Anzeige
AW: Application.Dialogs(xlDialogSaveAs).Show
09.07.2020 13:41:49
Werner
Hallo,
es bringt nichts, wenn du hier einfach mal ein paar Zeilen deines Codes hier einstellst.
Bitte den gesamten Code.
Gruß Werner
AW: Application.Dialogs(xlDialogSaveAs).Show
09.07.2020 14:01:44
Doc
Hallo,
Private Sub CommandButton2_Click()
Dim format As Range
Dim lngLast As String
'**Dateifilter**
strFilter = "Excel-Dateien(*.csv*), *.csv*"
'**Vorbelgung Pfad**
ChDrive "D"
ChDir "D:\xxx\"
'**Den im Dialogfeld gewählten Namen auslesen**
strFilename = Application.GetOpenFilename(strFilter)
'**Prüfen, ob eine gültige Datei ausgewählt wurde**
If strFilename = False Then Exit Sub
'**Gewählte Datei öffnen**
Set wb = Workbooks.Open(strFilename)
'Dialog speichern unter
Application.Dialogs(xlDialogSaveAs).Show (strFilename), 51
End Sub

Anzeige
AW: Application.Dialogs(xlDialogSaveAs).Show
09.07.2020 14:02:27
Doc
.
AW: Application.Dialogs(xlDialogSaveAs).Show
09.07.2020 15:07:01
Werner
Hallo,
na ja, der ganze Code scheint mir das dann wieder nicht zu sein. Oder warum hast du da Variablen deklariert, die du im gezeigten Code gar nicht verwendest?
Zu den Variablen dann auch noch was.
Format ist ein VBA-Schlüsselwort und sollte nicht als Name für eine Variable verwendet werden
Und lngLast soll ja wohl die letzte belegte Zeile aufnehmen. Das wäre dann aber eine Variable vom Typ Long und nicht String.
Seis drum:
du hast in der Variablen für den Filenamen den kompletten Pfad mit drin.
Sprich es muss der Dateiname aus dem Pfad extrahiert werden. Dann muss auch noch das Dateisuffix vom Dateinamen entfernt werden.
Private Sub CommandButton2_Click()
Dim strFilter As String, varFilename As Variant
'**Dateifilter**
strFilter = "CSV-Dateien(*.csv*), *.csv*"
'**Vorbelgung Pfad**
ChDrive "D"
ChDir "D:\xxx\"
'**Den im Dialogfeld gewählten Namen auslesen**
varFilename = Application.GetOpenFilename(strFilter)
'**Prüfen, ob eine gültige Datei ausgewählt wurde**
If varFilename = False Then Exit Sub
'**Gewählte Datei öffnen**
Set wb = Workbooks.Open(varFilename)
'Dialog speichern unter
'Dateiname extrahieren
varFilename = Mid$(varFilename, InStrRev(varFilename, "\") + 1)
'Dateisuffix entfernen
varFilename = Left(varFilename, InStrRev(varFilename, ".") - 1)
Application.Dialogs(xlDialogSaveAs).Show (varFilename), 51
End Sub
Deine Variabel strFilname habe ich umbenannt in varFilename und als Variant deklariert. Eine String-Variable kann nämlich keinen Fehlerwert aufnehmen.
Gruß Werner
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge