eska83 Geschrieben 8. September 2006 Geschrieben 8. September 2006 Moin, ganz kurz: -habe nur rudimentäres VB-Wissen. Frage: Ich möchte das beim Starten einer Excel Datei eine Dialogbox aufpoopt in der der User einen Monat eintragen kann. Der Monat soll dann in eine Variable einglesen werden. Wie kriege ich den Start des Dialoges nach Öffnen der Datei hin? Wie bastele ich mir diesen Dialog? ...und als goodie: wie kann ich in einem Makro die Existenz von Dateien überprüfen? Zitieren
Dragon8 Geschrieben 8. September 2006 Geschrieben 8. September 2006 Also das mit dem Dialog, der aufklappen soll, wenn du das dokument öffnest, ist eigentlich kein problem, gehste an der seite in den Projekt-Explorer und wählst "DieseArbeitsmappe aus", und dann über der Arbeitsfläche, in der du deinen Code verfasst siehste zwei Dropdownmenüs, im linken wählste "Workbook" und im rechten "open". da kannst nun was reinschreiben, was ausgeführt wird wenn du das dokument öffnest. und zum eintragen nimmste entweder die InputBox, schauste in die hilfe steht sie erklärt, oder du machst dir nen eigenes formular. Zitieren
Dragon8 Geschrieben 8. September 2006 Geschrieben 8. September 2006 Sorry für den Doppelpost, aber irgendwie habe ich keine Edit-Funktion gefunden.... nagut nun aber zu deiner zweiten Frage, das kannste mit dem FileSystemObject lösen. also erstes musste unter "Extras->Verweise" die Microsoft Scripting-Runtime hinzufügen. danach kannste mit folgendem Code überprüfen ob ne Datei existiert Dim fs As FileSystemObject Set fs = CreateObject("Scripting.FileSystemObject") If fs.FileExists("[COLOR="Red"]E:/Test.ini[/COLOR]") Then [Dein Code] End If den rotmakierten Pfad musste natürlich anpassen, wo deine Datei liegt. Zitieren
eska83 Geschrieben 11. September 2006 Autor Geschrieben 11. September 2006 danke erstmal für die antwort. noch eine frage: wie genau kann ich, nachdem der String in der InputBox eingelesen wurde die Eingabe mit mehreren Werten vergleichen? ich möchte ne Kontrolle einbauen: wenn Monat nicht Januar, Februar, März etc. dann MsgBox Fehlermeldung ansonsten weiter im Programm. bräuchte mal die genaue Syntax wie ich das mache. Zitieren
Dragon8 Geschrieben 11. September 2006 Geschrieben 11. September 2006 also direkt für dein Problem ist wohl das kürzeste folgendes: Dim rueckgabe As String rueckgabe = InputBox("Geben Sie einen Monat ein!", "Monat") If Not rueckgabe = "" Then If IsDate(rueckgabe & " 1, 2006") Then [Dein Code falls Eingabe ein Monat] Else [Dein Code falls Eingabe kein Monat] End If Else MsgBox "Falsche Eingabe", vbCritical, "Fehler" End If und sont kannst du solche überprüfungen auch mit "OR" und "AND" verknüpfen. z.B. If rueckgabe = "bla bla bla" Or rueckgabe = "blu blub" then ... If rueckgabe > 3 And rueckgabe <= 9 then ich gehe nun mal davon aus, das du weißt was die AND und OR verknüpfungen bedeuten. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.