Office: Application.GetSaveAsFilename, Return:=Falsch, andere Sprachversionen?

Helfe beim Thema Application.GetSaveAsFilename, Return:=Falsch, andere Sprachversionen? in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; if strFilename = "Falsch" Then MsgBox "Abbruch" Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von RalfP., 1. Januar 2021.

  1. Application.GetSaveAsFilename, Return:=Falsch, andere Sprachversionen?


    PHP:
             if strFilename "Falsch" Then MsgBox "Abbruch"
     
    Warkings, 3. Januar 2021
    #16
  2. Hallo Warkings,

    du hast es also auch nicht begriffen ... *rolleyes.gif*

    Dieses If wird nie WAHR werden !!! Hat also NULL Zopf ... wie meine Tochter neuerdings so schön zu sagen pflegt.

    Sabina
     
    Flotter Feger, 3. Januar 2021
    #17
  3. Frische getankt, was *biggrin.gif*
     
  4. Application.GetSaveAsFilename, Return:=Falsch, andere Sprachversionen?

    Ach @Flotter Feger: Du denkst wieder mal zu kurz, mir geht es doch nicht um die ursprüngliche Funktion oder den Anwendungsfall.

    Mir geht es um die Art des Programmierens hier. Hungarian Notation mit dem witzigen Fehler strFilename as variant , der Funktionskopf ist auch lustig, keine Typangaben aber Variablenamen schön nach HN benannt, zum Totlachen.

    Implizites Casting wird nicht gesehen ...

    Und das der ganze Select Case Code Quatsch ist, hast Du ja schon geschrieben, den Hinweis hatte ich versucht in #5 gegeben, war aber wohl zu dezent.

    Viel Spass noch beim Spielen mit Deiner Tochter *grins

    PS Guess What
    Code:
     
    Warkings, 3. Januar 2021
    #19
  5. \@Warkings, nachhaltig(er) wäre, sicher nicht für die Profi hier, wenn du die Buzzwords mit Inhalt fülltest.. allerlei Leserschaft bedankte sich bei dir
     
  6. ************************
     
    Fake_News, 3. Januar 2021
    #21
  7. \@Sabina,

    mein Rechner ist dumm. Er weiß nicht, dass diese Funktion niemals wahr werden wird.
    Code:
    Sub Test()
    Dim varFilename As Variant
    varFilename = Application.GetSaveAsFilename(strInitialFileName, _
    strFileFilter, strFilterIndex, strTitle, strButtonText)
    If varFilename = "Falsch" Then MsgBox "Abbruch"
    End Sub
    Er macht es einfach und zeigt die Msgbox an, wenn ich den Dialog abbreche.

    VG KH
     
  8. Application.GetSaveAsFilename, Return:=Falsch, andere Sprachversionen?

    Hallo Ralf,
    man kann es auch sprachneutral abfragen und auch/trotzdem eine Stringvariable verwenden:
    Code:
     
    Zuletzt von einem Moderator bearbeitet: 9. Februar 2021
    Uwe Küstner, 3. Januar 2021
    #23
  9. Wenn man in die OH zu GetSaveAsFilename schaut, bekommt man alle relevanten Hinweise:

    1) Der Rückgabewert ist vom Typ VARIANT.
    2) Der Rückgabewert kann ein Dateiname (+Pfad) oder FALSE sein.
    3) Einen Mustercode, der genau die hier behandelte Frage klärt.

    Eine Deklaration des Rückgabewerts als STRING ist daher kontraproduktiv.
    Um unnötigen Aufwand zu reduzieren und alle relevanten Fälle abzufangen, sollte also die Rückgabe wie vorgegeben als Variant deklariert werden mit einer Prüfung auf
    Rückgabe = bzw. FALSE. Zwar ist mir kein Fall bekannt, bei dem die Rückgabe fälschlich als FALSE interpretiert werden kann, aber wenn man Hosenträger zum Gürtel will, prüft man eben noch den TypeName auf Boolean.


    wenn du das meinst:
    Diese Codezeilen...
    Code:
    bewirken, dass der Boolsche Wert FALSE im Hintergrund in einen String gewandelt wird. Also ist eigentlich dies gemeint:
    Code:
     
    Zuletzt von einem Moderator bearbeitet: 9. Februar 2021
    EarlFred, 3. Januar 2021
    #24
  10. Danke nochmal!
    ich hab gelernt, dass es ausreicht zu prüfen:
    Code:
     
  11. Seltsam, dass du gerade das als Lehre mitnimmst.
    Für mich ist es naheliegender, einen boolschen Wert auf True oder False zu prüfen...
     
    Zuletzt von einem Moderator bearbeitet: 9. Februar 2021
    EarlFred, 4. Januar 2021
    #26
  12. Es geht um GetSaveAsFilename, welches Variant zurückgibt und nie True zurückgeben wird, was ich in #10 bereits korrigiert hatte.
    edit: und falls ich das richtig verstanden habe, ist gerade das eben kein implizites Casting..
     
  13. Application.GetSaveAsFilename, Return:=Falsch, andere Sprachversionen?

    Das stellt doch keiner infrage. Das war daher auch nicht der Kern meiner letzten Aussage und des vorhergehenden Posts. Die Aussage war doch: Man prüft eine boolsche Variable auf True oder False, weil ausschließlich dies Inhalt einer Variable dieses Typs sein kann.

    Du willst du auf 0 (oder -1) prüfen, und dafür musst du ja wieder eine Typkonvertierung vornehmen:
    Code:
    Diese Typänderung wird bei deiner Prüfung nicht explizit im Code durchgeführt, sondern VBA übernimmt diese, ist also implizit.

    Prüfst du hingegen boolsche Variable gegen einen boolschen Wert, dann sieht jeder Leser des Codes sofort, was Sache ist.
     
    Zuletzt von einem Moderator bearbeitet: 9. Februar 2021
    EarlFred, 4. Januar 2021
    #28
  14. hoffentlich hab ichs jetzt endlich verstanden:
    da bei Abbruch die Rückgabe von GetSaveAsFilename = False(Varian/Boolean) ist und ich mit = 0 ([Variant/]Integer) prüfe, findet implizit die Konvertierung statt. Meine Güte, Schuster bleib bei deinen Leisten! *biggrin.gif*

    edit: meine Antwort überschnitt nun dein edit ^^
     
Thema:

Application.GetSaveAsFilename, Return:=Falsch, andere Sprachversionen?

Die Seite wird geladen...
  1. Application.GetSaveAsFilename, Return:=Falsch, andere Sprachversionen? - Similar Threads - Application GetSaveAsFilename Return

  2. GetSaveAsFilename offeriert kein .doc Format

    in Microsoft Excel Hilfe
    GetSaveAsFilename offeriert kein .doc Format: Hallo liebe Forumler, ich bin ein ziemlicher Anfänger in der VB Geschichte und habe folgenden Wunsch: In Excel 2010 möchte ich ein neues Word Dokument erstellen und dieses mit Text, aber vor...
  3. Application Guard für Office

    in Microsoft Excel Tutorials
    Application Guard für Office: Application Guard für Office Excel für Microsoft 365 Word für Microsoft 365 PowerPoint für Microsoft 365 Mehr... Weniger...
  4. Progressbar / Application-Anzeige

    in Microsoft Excel Hilfe
    Progressbar / Application-Anzeige: Hallo. Ich habe ein Programm in VBA erstellt, dass Berechnungen vornimmt. Diese Berechnungen dauern manchmal lange, da auch grosse Exceldateien benutzt werden. Nun sieht der Benutzer während das...
  5. UserForm im Vordergrund halten wenn application visible=false

    in Microsoft Excel Hilfe
    UserForm im Vordergrund halten wenn application visible=false: Hallo, Ich habe für meine Kollegen eine kleine Anwendung gebaut, in der über ein Formular Daten eingeben und gespeichert werden können. Wenn die UF initialisiert wird, wird dabei Excell mit:...
  6. Die Methode 'Run' für das Objekt 'Application' ist fehlgeschlagen

    in Microsoft Access Hilfe
    Die Methode 'Run' für das Objekt 'Application' ist fehlgeschlagen: Hallo zusammen, in einer mde rufe ich den Report in einer anderen db (mdb) auf, was unter Access 2007 zu o.a. Fehlermeldung führt. Wie kann ich es lösen, damit die db (Access 2000) auch unter...
  7. HILFE ! Word für Win 95 Application file funktioniert nicht mehr

    in Microsoft Word Hilfe
    HILFE ! Word für Win 95 Application file funktioniert nicht mehr: Hallo, Ich habe ein Problem mit word für windows 95 auf vista rechner! Arbeite schon seit tagen an einem Dokument, und habe gestern letzte änderungen daran gemacht und abgespeichert. Als ich es...
  8. Application hang

    in Microsoft Outlook Hilfe
    Application hang: Hallo Seit neuesten friert mein Outlook 2003 ein. Fehler Application hang / Kategorie 101. Was kann hier die ursache sein???
  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