Office: (Office 2011 Mac) VBA: Überprüfung, ob Datei existiert und Abfrage vor dem Überschreiben

Helfe beim Thema VBA: Überprüfung, ob Datei existiert und Abfrage vor dem Überschreiben in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Liebe Excel/VBA-Community, ich versuche mit wachsender Verzweiflung ein Makro zu erstellen, das folgende Funktionen erfüllt: 1. Beim Abspielen... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von MikroMeso, 7. Juli 2016.

  1. MikroMeso Neuer User

    VBA: Überprüfung, ob Datei existiert und Abfrage vor dem Überschreiben


    Liebe Excel/VBA-Community,

    ich versuche mit wachsender Verzweiflung ein Makro zu erstellen, das folgende Funktionen erfüllt:

    1. Beim Abspielen des Makros wird eine PDF erzeugt (funktioniert)
    2. Der Dateiname der PDF wird den Zellen C1-3 entnommen (funktioniert)
    3. Dabei Prüfung, ob C1-3 ausgefüllt wurden: Wenn nicht, Fehlermeldung (funktioniert)
    4. Die PDF wird an den Ort der Ausgangs-XLSM gespeichert (funktioniert)
    5. Prüfung, ob eine Datei mit diesem Dateinamen bereits existiert. Wenn ja, MsgBox (funktioniert nicht). Herausforderung: Die XLSM liegt auf einem Serverpfad, die Vergabe des Dateinamens ist dynamisch (s.o.), es kann also kein lokaler, fixierter Dateiname angegeben werden.
    6. Abfrage, ob Datei überschrieben werden soll oder nicht (noch nicht eingebaut, da 5 nicht funktioniert)

    Meine aktuellen Versuche sehen wie folgt aus und produzieren beim aktuellen Stand die Fehlermeldung 'Laufzeitfehler "68": Das Gerät ist nicht verfügbar':

    ****
    Sub PDF_Speichern()

    Dim name As String
    Dim Matrikel As String
    Dim Aufgabe As String
    Dim Dateiname As String
    Dim Pfad As String
    Dim Korrektor As String

    ChDir ThisWorkbook.Path

    name = Range("C1")
    Matrikel = Range("C2")
    Aufgabe = Range("C3")
    Korrektor = Range("B12")
    Dateiname = name & "_" & Matrikel & "_" & Aufgabe & "_" & "Bewertung" & ".pdf"

    If Len(name) = 0 Then
    MsgBox ("Bitte Namen angeben")
    Exit Sub
    End If
    If Len(Matrikel) = 0 Then
    MsgBox ("Bitte Matrikelnummer angeben")
    Exit Sub
    End If
    If Len(Aufgabe) = 0 Then
    MsgBox ("Bitte Aufgaben-Namen angeben")
    Exit Sub
    End If
    If Len(Korrektor) = 0 Then
    MsgBox ("Enter your ID")
    Exit Sub
    End If

    'Ab hier hakt es. Ich habe es schon ohne Anführungsstriche versucht, mit verschiedenen Klammern und mit '= Dateiname Then', leider erfolglos

    If Dir("ThisWorkbook.Path & Dateiname") = "" Then
    MsgBox ("Achtung! Datei existiert bereits. Überschreiben?")
    Else

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    Dateiname, Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
    End If
    End Sub
    ****

    Meinen bisherigen Recherchen zufolge kann das Problem nicht über ein Object gelöst werden, weil das für Excel für Mac nicht verfügbar ist. Auch bei Ron de Bruin habe ich mich schon umgeschaut und bin zu keiner Lösung gekommen.

    Hat jemand einen Lösungsvorschlag?

    Vorab schon mal vielen Dank und Grüße
    MikroMeso
    _____
    Excel 2011 für Mac (14.6.3) auf Mac OS X (10.9.5)
     
    MikroMeso, 7. Juli 2016
    #1
  2. Beverly
    Beverly Erfahrener User
    Hi,

    ich würde es so versuchen:

    Code:
    If Dir(ThisWorkbook.Path & "\" & Dateiname) <> "" Then
    Bis später,
    Karin
     
    Beverly, 7. Juli 2016
    #2
  3. MikroMeso Neuer User
    Hallo Karin,

    vielen Dank für deinen Vorschlag. Leider führt diese Zeile zu 'Laufzeitfehler "13": Typenkonflikt'

    Wie gesagt arbeite ich auf Word für Mac und das scheint insbesondere bei der Pfadbezeichnung Eigenheiten zu haben. Ich habe auch schon / und : ausprobiert, mit und ohne Anführungszeichen, jedoch ohne Erfolg. Hast du noch eine alternative Idee?

    Danke und Grüßle
    MikroMeso
     
    MikroMeso, 7. Juli 2016
    #3
  4. Beverly
    Beverly Erfahrener User

    VBA: Überprüfung, ob Datei existiert und Abfrage vor dem Überschreiben

    Beverly, 7. Juli 2016
    #4
  5. MikroMeso Neuer User
    Lösung. Danke

    Hallo,

    nach langem Wühlen und Probieren bin ich nun zu folgendem (vll. nicht eleganten oder einfachen aber funktionierenden) Lösungsweg gekommen:

    Code:
    If FileOrFolderExistsOnMac(1, ThisWorkbook.Path & Application.PathSeparator & Dateiname) Then
        If MsgBox("Datei existiert bereits. Überschreiben?", vbYesNo + vbQuestion, "ACHTUNG!") = vbYes Then
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            Dateiname, Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
            Else
            Exit Sub
        End If
    Else
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            Dateiname, Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
    End If
    
    Es geht also nicht ohne Ron De Bruines Funktion: https://msdn.microsoft.com/de-de/library/office/jj614412(v=office.14).aspx

    Code:
    Function FileOrFolderExistsOnMac(FileOrFolder As Long, FileOrFolderstr As String) As Boolean
    'By Ron de Bruin
    '30-July-2012
    'Function to test whether a file or folder exist on a Mac.
    'Uses AppleScript to avoid the problem with long file names.
        Dim ScriptToCheckFileFolder As String
        ScriptToCheckFileFolder = "tell application " & Chr(34) & "Finder" & Chr(34) & Chr(13)
        If FileOrFolder = 1 Then
            ScriptToCheckFileFolder = ScriptToCheckFileFolder & "exists file " & _
            Chr(34) & FileOrFolderstr & Chr(34) & Chr(13)
        Else
            ScriptToCheckFileFolder = ScriptToCheckFileFolder & "exists folder " & _
            Chr(34) & FileOrFolderstr & Chr(34) & Chr(13)
        End If
        ScriptToCheckFileFolder = ScriptToCheckFileFolder & "end tell" & Chr(13)
        FileOrFolderExistsOnMac = MacScript(ScriptToCheckFileFolder)
    End Function
    
    Danke für die Hinweise

    Viele Grüße
    MikroMeso
     
    MikroMeso, 8. Juli 2016
    #5
Thema:

VBA: Überprüfung, ob Datei existiert und Abfrage vor dem Überschreiben

Die Seite wird geladen...
  1. VBA: Überprüfung, ob Datei existiert und Abfrage vor dem Überschreiben - Similar Threads - VBA Überprüfung Datei

  2. Excel VBA - IsText

    in Microsoft Excel Hilfe
    Excel VBA - IsText: Guten Tag zusammen, Ich hätte eine Frage zu Excel VBA Wie schreibe ich es am besten wenn ich folgendes möchte: Wenn in der Zelle A1 ein Text ist dann soll in Zelle B1 ein "x" gemacht werden....
  3. Excel VBA Exit aus der Schleife verhindern

    in Microsoft Excel Hilfe
    Excel VBA Exit aus der Schleife verhindern: Hallo, ich denke, ich habe ein tatsächlich einfaches Problem. Komme aber nicht auf die Lösung. In dieser Schleife x bis 507 wird eine Funktion aufgerufen, die in einer anderen Liste einen Namen...
  4. Ordner mit Unterordner per VBA erstellen

    in Microsoft Access Hilfe
    Ordner mit Unterordner per VBA erstellen: Hallo Leute Ich möchte gerne Order incl. Unterordner per VBA erstellen. Die Namen der Ordner und Unterordner sind in einer Tabelle gespeichert. Mit nachfolgender Prozedur funktioniert es auch ganz...
  5. Excel VBA Code

    in Microsoft Excel Hilfe
    Excel VBA Code: Hallo Vielleicht kann mir hierbei wer helfen? Warum funktioniert der Code nicht? Der IF-Codeteile mit "F", "iA" und "O" funktionieren. Aber wenn ich im userform den Teil mit "TF" aufrufe...
  6. VBA: Hinzufügen von Datensätzen zu einer bestehenden Tabelle

    in Microsoft Access Hilfe
    VBA: Hinzufügen von Datensätzen zu einer bestehenden Tabelle: Hallo, ich möchte zum ersten mal mit loop und einer Wenn-Bedingung mit VBA Datensätze (Felder) aus einer Tabelle in eine andere Tabelle übernehmen und komme nicht weiter. Vielleicht kann mir...
  7. Ich möchte per VBA ein Datum überprüfen ob es in einem bestimmten Datumsbereich liegt

    in Microsoft Excel Hilfe
    Ich möchte per VBA ein Datum überprüfen ob es in einem bestimmten Datumsbereich liegt: Hallo Leute ich bin wieder mal da habe ein Problem diesmal in Excel 2003 VBA, Ich habe mir aus diversen Foren einen Code zusammengebastelt aber ich bin damit nicht ganz Glücklich. Ich möchte per...
  8. VBA: Wenn der Wert >2 dann soll eine E-Mail versendet werden. Überprüfung von ca. 100 Zeilen.

    in Microsoft Excel Hilfe
    VBA: Wenn der Wert >2 dann soll eine E-Mail versendet werden. Überprüfung von ca. 100 Zeilen.: Hallo Zusammen, ich habe das Problem das wir in unserem Unternehmen eine Bestandsliste unserer Toner in Excel führen. Aktuell bin verusche ich diese übersichtlicher und mit einen Upgrades zu...

Users found this page by searching for:

  1. vba datei existiert

    ,
  2. excel makro überprüfung ob makro funktioniert

    ,
  3. Makro name überschreiben

    ,
  4. access export nicht überschreiben,
  5. vba abfrage vorhanden,
  6. vba abfrage ob datei im ordner bereitsexistiert,
  7. vba abfrage ob datei existiert,
  8. excel vba daei speicerhn mit abfrage,
  9. vba wenn datei vorhanden dann ersetzen,
  10. vba prüfung ob datei vorhanden,
  11. vba prüfen ob query existiert,
  12. vba überprüfen ob datei existiert,
  13. excel vba vor dem öffnen prüfen
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden