Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Speichern unter -Dialog

Speichern unter -Dialog
08.09.2005 10:32:33
Lutz
Hallo Experten,
ich möchte für den "Speichern unter - Dialog" einen fetsen Pfad vorgeben.

Private Sub Speichern()
Dim fn
fn = Application.GetSaveAsFilename("Testdatei", "Excel-Dateien (*.xls), *.xls")
If fn = False Then
MsgBox "Datei wurde nicht gespeichert!"
End If
End Sub

Nun möchte ich, den Speicherort bereits voreinstellen, da die Voreinstellung nicht passt.
Gruß Lutz
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Speichern unter -Dialog
08.09.2005 11:47:33
Nepumuk
Hallo Lutz,
das funktioniert mit den Exceleigenen Dialogen nicht. Versuch es mal so:
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Private Declare Function GetSaveFileName Lib "comdlg32.dll" Alias "GetSaveFileNameA" ( _
    pOpenfilename As OPENFILENAME) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
    ByVal lpClassName As String, ByVal _
    lpWindowName As String) As Long

Private Type OPENFILENAME
    lStructSize As Long
    hwndOwner As Long
    hInstance As Long
    lpstrFilter As String
    lpstrCustomFilter As String
    nMaxCustFilter As Long
    nFilterIndex As Long
    lpstrFile As String
    nMaxFile As Long
    lpstrFileTitle As String
    nMaxFileTitle As Long
    lpstrInitialDir As String
    lpstrTitle As String
    flags As Long
    nFileOffset As Integer
    nFileExtension As Integer
    lpstrDefExt As String
    lCustData As Long
    lpfnHook As Long
    lpTemplateName As String
End Type

Private Const gcClassnameMSExcel = "XLMAIN"

Public Sub prcSaveAs()
    Const strInitialFilename = "Testdatei"
    Dim udtOFN As OPENFILENAME
    Dim strFilename As String
    With udtOFN
        .lStructSize = Len(udtOFN)
        .hwndOwner = FindWindow(gcClassnameMSExcel, Application.Caption)
        .lpstrFilter = "Excelfiles (*.xls)" + Chr$(0) + "*.xls" + Chr$(0)
        .lpstrFile = strInitialFilename & Space$(254 - Len(strInitialFilename))
        .nMaxFile = 255
        .lpstrFileTitle = Space$(254)
        .nMaxFileTitle = 255
        .lpstrInitialDir = "D:\Eigene Dateien\Eigene Tabellen\"
        .lpstrTitle = "Save As"
        .flags = 0
    End With
    If GetSaveFileName(udtOFN) Then
        strFilename = Trim$(udtOFN.lpstrFile)
        MsgBox strFilename 'nur zum testen
        ' ThisWorkbook.SaveAs strFilename
    Else
        MsgBox "Datei wurde nicht gespeichert!", 48, "Hinweis"
    End If
End Sub

Gruß
Nepumuk
Excel & VBA – Beispiele
Anzeige
AW: Speichern unter -Dialog
08.09.2005 16:22:38
Lutz
Pooh Pepumuk, wat'n Code?
Da sieht sieht man erst wie "dumm" man hier ist, aber toll Ihr experten uns "Frischlingen" auch beisteht.
Danke
ich hab mal noch ein weing im Archiv gestöbert und mir was zusammengebastelt:

Sub Speichern()
Dim fn
Dim Pfad As Variant
Pfad = "D:\Mein Ordner\"
fn = Application.GetSaveAsFilename(Pfad & "Name", "Excel-Dateien (*.xls), *.xls")
If fn = False Then
MsgBox "Formular wurde nicht gespeichert!"
'Call Speichern
End If
ActiveWorkbook.SaveAs fn
End Sub

scheint auch zu funzen. Die Funktion rufe ich mir über die Workbook_open() auf.
Was ich nicht hinbekomme, ist, dass dieser Code nur bei start der Vorlage anspringt.
Aber das Problem, hab ich oben nochmal eingestellt.
Nepumuk, danke
Gruß lutz
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige