Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
664to668
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
664to668
664to668
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
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

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

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige