Abbrechen Button Inputbox

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Hansi
***
Beiträge: 56
Registriert: Mo, 04.04.2011 09:50

Abbrechen Button Inputbox

Beitrag von Hansi »

Hallo,

schaut euch mal bitte das Makro an.Dieses funktioniert so weit ganz gut,nur wenn ich auf Abbrechen gehe,wird das ganze nicht abgebrochen,sondern das Makro läuft weiter.Und als nächstes,wie kann ich eine Auswertung einbauen,das wenn kein Zeichen eingegeben wird, die Eingabeaudforderunge sichtbar bleibt.Momentan läuft da jetzt das Makro auch weiter und gibt am Ende eine Fehlermeldung raus.

Danke für Eure Bemühungen

Code: Alles auswählen

dim dummy()
    odoc = thiscomponent
       myString= "Speichern"   
       sTitel = "Nachfrage"
       mystring1 = (mystring+"_"+Datumsortiert)    
       beep
       Dateiname = InputBox ("Geben Sie bitte den Dateinamen ein:",mystring,"")
       Speicherort = InputBox ("Geben Sie bitte ein Verzeichnis ein:", mystring, "file:///C:/Dokumente und Einstellungen/Eigene Dateien/")
       mydoc = ThisComponent
       myUrl=  Speicherort + Dateiname+".ods"
       If FileExists( MyURL ) Then
          beep
          Speichern1 = MsgBox ("Überschreiben ???",4+32,sTitel)    
       else
          mydoc.storeasurl(myurl, dummy) 
          beep
          msgbox ("Ihre Datei wurde gespeichert",,MyString)
       end if
       If Speichern1 = 6 then
          mydoc.storeasurl(myurl, dummy)
          Beep 
          msgbox ("Ihre Datei ist gespeichert",,MyString)  
       End if
    odoc.close(true)
preklov
***
Beiträge: 76
Registriert: Mo, 29.06.2009 09:04
Wohnort: Ruhrgebiet

Re: Abbrechen Button Inputbox

Beitrag von preklov »

Hallo Hansi,

meinst du das:

Code: Alles auswählen

while Dateiname = ""
    Dateiname = InputBox ("Geben Sie bitte den Dateinamen ein:",mystring,"")
wend
Oder willst du zwischen Abbrechen und Nullstring-Eingabe unterscheiden? Das geht nicht so einfach, denn beides gibt "" zurück. Ich kann allerdings keinen Sinn in einer solchen Unterscheidung erkennen.

Du könntest jedoch den Nullstring als Abbrechen interpretieren:

Code: Alles auswählen

Dateiname = InputBox ("Geben Sie bitte den Dateinamen ein:",mystring,"")
if Dateiname = "" then exit sub
Oder verstehe ich alles falsch?

Gruß
Volker
Schöne Grüße
Volker
hawkhunter2002
**
Beiträge: 32
Registriert: So, 25.02.2007 09:11
Wohnort: Ingolstadt

Re: Abbrechen Button Inputbox

Beitrag von hawkhunter2002 »

Hallo Hansi,

preklov war ja schon schneller, hier mein Denkanstoß (keine fertige Lösung), wenn die Inputbox sich wieder öffnen soll wenn nichts eingegeben musst du sie halt in eine Schleife setzten.

Code: Alles auswählen

sub mest()
dim dummy()
    odoc = thiscomponent
       myString= "Speichern"   
       sTitel = "Nachfrage"
       mystring1 = (mystring+"_"+Datumsortiert)   
       beep
       Dateiname = InputBox ("Geben Sie bitte den Dateinamen ein:",mystring," ")' " " Vorgabe ein Leerzeichen
       if (Dateiname = " ") then 'Wenn nur ein Leerzeichen dann wurde nichts eingegeben
       		msgbox "Es wurde nichts eingegeben"
       		exit sub
       	elseif (Dateiname = "") then
       		msgbox "Es wurde Abbrechen gedrückt" 'Rückgabewert ist ""
       		exit sub
       	else
       		Dateiname = Trim(Dateiname) 'evtl vorhanden Leerzeichen am Anfang oder Ende werden abgeschnitten
       	end if
       	'msgbox "|" & Dateiname & "|"		
       	
       Speicherort = InputBox ("Geben Sie bitte ein Verzeichnis ein:", mystring, "file:///C:/Dokumente und Einstellungen/Eigene Dateien/")
       mydoc = ThisComponent
       myUrl=  Speicherort + Dateiname+".ods"
       If FileExists( MyURL ) Then
          beep
          Speichern1 = MsgBox ("Überschreiben ???",4+32,sTitel)   
       else
          mydoc.storeasurl(myurl, dummy)
          beep
          msgbox ("Ihre Datei wurde gespeichert",,MyString)
       end if
       If Speichern1 = 6 then
          mydoc.storeasurl(myurl, dummy)
          Beep
          msgbox ("Ihre Datei ist gespeichert",,MyString) 
       End if
    'Zum Testen ausdokumentiert
    'odoc.close(true) 
    
end sub    



Gruß

Hawk
OOO Basic Programmierers best Friend XRay-Tool
preklov
***
Beiträge: 76
Registriert: Mo, 29.06.2009 09:04
Wohnort: Ruhrgebiet

Re: Abbrechen Button Inputbox

Beitrag von preklov »

Hallo Hansi,

ein anderer Ansatz: die Infobox ist für manche Zwecke ein einfaches und praktisches Mittel, aber wenn es um Dateinamen geht, so ist der Aufwand, den man treiben muss, um die Pfade und Dateinamen zu prüfen, ziemlich groß. Zweckmäßig könnte der Einsatz des Filepickers sein. Andrew Pitonyak hat eine immer wieder hilfreiche Fundgrube für die Makroprogrammierung geschrieben (jetzt neu in der 3. Aufl.), in der auch der Einsatz des Filepickers erklärt ist (Kap. 10.3, Listing 201). Man kann sich die odt-Datei frei herunterladen: http://www.pitonyak.org/OOME_3_0.odt.

Gruß
Volker
Schöne Grüße
Volker
Hansi
***
Beiträge: 56
Registriert: Mo, 04.04.2011 09:50

Re: Abbrechen Button Inputbox

Beitrag von Hansi »

Hi,

danke an alle für die Lösungen,ich werde diese heute mal eingeben und sehen,wie diese funktionieren.

das mit dem Filepicker klingt gut,nur gibt es das auch auf Deutsch.

Gruß Hansi
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Abbrechen Button Inputbox

Beitrag von komma4 »

Hansi hat geschrieben:das mit dem Filepicker klingt gut,nur gibt es das auch auf Deutsch.
Der Filepicker selbst ist lokalisiert - sprich: er erscheint in der (OOo-) installierten Sprache.


Wenn Du Andrews Dokument meinst: eine deutsche Übersetzung der ersten Version seines Dokuments findest Du auf der Website von Andrew.


Viel Erfolg!
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Antworten