xlDialogSaveAs mit Dateifilter

Moderator: ModerationP

xlDialogSaveAs mit Dateifilter

Beitragvon Heidi_1 » 01. Dez 2020, 10:59

Guten Morgen,

gibt es die Möglichkeit, diesen Code

Code: Alles auswählen
Application.Dialogs(xlDialogSaveAs).Show ("P:\Auswertung\Berichte\2020\01_Basis_2020" & Worksheets("Kontrolle").Cells(4, 14).Value)


so zu verändern, dass automatisch als xlsx und nicht als xlsm gespeichert wird?

Über Hilfe wäre ich unheimlich dankbar!!!

Vielen Dank, Heidi
Heidi_1
 

Re: xlDialogSaveAs mit Dateifilter

Beitragvon Ralf A » 01. Dez 2020, 11:20

Hi Heidi,

Dialogs bietet Dir nur die Methode Show an. Wenn Du Voreinstellungen vornehmen willst, verwende das FileDialog Objekt von Application.

Gib mal ein:
Code: Alles auswählen
With Application.FileDialog(msoFileDialogSaveAs)


wenn Du jetzt in der nächsten Zeile einen Punkt setzt, schlägt Dir die Intellisense jede Menge Eigenschaften und Methoden vor....

Speziell zur Voreinstellung von Filtern, schau mal hier: https://docs.microsoft.com/de-de/office/vba/api/office.filedialog.filters
Ciao, Ralf
Wer glaubt, für ihn persönlich würde der Bremsweg nicht als Funktion proportional zum QUADRAT der Geschwindigkeit steigen, der ist halt nicht „frei“, sondern ein Narr.
Ralf A
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 980
Registriert: 17. Mär 2018, 11:47

Re: xlDialogSaveAs mit Dateifilter

Beitragvon Heidi_1 » 03. Dez 2020, 11:08

Hallo Ralf,
ich habe jetzt alles probiert...
aber ich kann das einfach nicht allein :oops:

Am Ende komme ich darüber
Code: Alles auswählen
    With Application.FileDialog(msoFileDialogSaveAs)
    .FilterIndex
leider nicht hinaus.....

Wie geht es denn weiter???
Tausend dank, und schöne Grüße, Heidi
Heidi_1
 

Re: xlDialogSaveAs mit Dateifilter

Beitragvon Ralf A » 03. Dez 2020, 18:39

...wie wäre es, wenn Du Dir mal das Beispiel im Link aus meinem letzten Post anschaust?
Natürlich muss man Beispiele immer an seine persönlichen Bedürfnisse anpassen. Das wäre auch nicht anders, wenn ich jetzt noch ein anderes Beispiel poste. Nicht immer gleich um Hilfe rufen, wenn man etwas nicht versteht. Versuche wenigstens zu verstehen, was da wie und warum gemacht wird. Klar, kostet mitunter Zeit und Geduld, aber.... die sollte man schon aufbringen, denn ohne Verständnis wird das nix....

Auch selber mal googeln hilft in den meisten Fällen. Schau z. Bsp. mal
hier: https://stackoverflow.com/questions/45332735/vba-excel-filedialog-to-set-reset-filters
oder hier: http://office-loesung.de/ftopic304935_0_0_asc.php
oder....?¿?

Übrigens... ein Filterindex nutzt Dir ohne Filter rein gar nichts....
Ciao, Ralf
Wer glaubt, für ihn persönlich würde der Bremsweg nicht als Funktion proportional zum QUADRAT der Geschwindigkeit steigen, der ist halt nicht „frei“, sondern ein Narr.
Ralf A
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 980
Registriert: 17. Mär 2018, 11:47

Re: xlDialogSaveAs mit Dateifilter

Beitragvon slowboarder » 03. Dez 2020, 19:12

Hi

in dem Fall würde ich den Anwender über Application.GetSaveAsFileName nach dem Dateinamen fragen und in einen String speichern.
dieser Dialog sieht genauso aus wie der SpeichernUnter-Dialog, aber es passiert zunächst einmal nichts, außer dass du den Pfad und Dateinamen in einer Variable hast.

dh. du hast dann noch die vollle kontrolle, ob überhaupt und wenn wie gespeichert wird.
du kannst da zwar einen Filter vorgeben, der bezieht sich aber nur auf die angezeigten Dateien in der Auswahlliste.
aber du könntest sogar auch den Namen aus einem PDF übernehmen:
außerdem kannst du den Abbruch besser händeln, oder die Situation, wenn der Dateiname schon vergeben ist (müsste mit DIR geprüft werden)

Code: Alles auswählen
dim Datei as Variant
Datei = Application.GetSaveFilename
if VarType = vbString then
    Datei = Left(Datei, InstrRev(Datei, ".") - 1) '--- Dateierweiterung abtrennen
   ActiveWorkbook.SaveAs Datei, Fileformat:=xlOpenXMLWorkbook
end if


Gruß Daniel
slowboarder
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 27563
Registriert: 18. Apr 2009, 13:33


Zurück zu Excel Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 9 Gäste