PDA

Vollständige Version anzeigen : Windows Objekt "Speichern unter" aufrufen


Biggi
24.09.2001, 09:55
Hallo,

jetzt sitz ich schon so lange an dem Problem und komme nicht weiter:

Ich möchte aus einem Formular heraus per Buttonclick das Windows Objekt "Speichern unter" aufrufen in dem ich einen in meinem Programm berechneten Wert abspeicher möchte. Leider kann ich nur den Access "Speichern unter" aufrufen.

Bitte jetzt sind die Profis dran.

Vielen dank im Voraus.

Biggi

Birgit Dannenberg
24.09.2001, 10:12
Hallo Biggi,

Du kannst das mit der ActiveX-Komponente CommonDialog lösen. Dazu mußt Du einen Verweis auf die 'comdlg32.ocx' einrichten, dann kannst Du in einem Formular ein StandardDialog-Steuerelement anlegen und verwenden.
Dazu steht eine Menge Information in der Online-Hilfe.

Empfehlenswert, weil ActiveX-unabhängig, ist jedoch eine API-gestützte Lösung. Dazu findest Du hier im Forum und speziell bei donkarl (Karl Donaubauer) unter http://www.donkarl.com/ entspr. Hilfe/Beispiele.

hth Biggi

Phillip-Berlin
24.09.2001, 10:24
evtl. ist das http://www.mvps.org/access/api/api0001.htm auch noch einen blick wert

Biggi
24.09.2001, 14:37
Danke erst einmal en Birgit und Philip,

ich glaube eure Antworten sind richtig aber ich komme damit noch nicht zurecht.

Könntet ihr es ausführlicher beschreiben?

Bin noch Anfängerin!

Vielen Dank nochmal

Stefan Kulpa
24.09.2001, 17:12
<font face="Verdana" size="2">Hallo Biggi,

zunächst einmal musst Du wissen, das beide beschriebenen Methoden nichts speichern, sondern lediglich dazu dienen, dem Benutzer eine Möglichkeit zu geben, eine Zieldatei anzugeben. Ist dies geschehen, musst Du immer noch selbst dafür sorgen, dass deine Werte in dieser Zieldatei gespeichert werden.

Was die Lösungen angehen, würde Dir als selbsterklärte Anfängerin zu dem OCX-Control raten. Wie Birgit bereits geschrieben hat, musst du dieses Control (Microsoft Common Dialog Control) in Deinem Formuar einbinden. Das damit verbundene Icon auf dem Formular ist zur Laufzeit nicht sichtbar.
Um das Control zu aktivieren, musst Du verschiedene Parameter setzen:</font>

<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre> <span class="TOKEN">With</span> CtrDialog
.DialogTitle = "Dies ist der Dialogtitel"
.DefaultExt = ".TXT" <span class="REM">'** Beispiel für Textdateien</span>
.Filter = "Text (*.txt)|*.txt" <span class="REM">'** Dateitypenauswahl</span>
.ShowSave <span class="REM">'** Aufruf des Dialogs als</span>
<span class="REM"> '** Speichern-Unter-Dialog</span>
<span class="TOKEN">End</span> <span class="TOKEN">With</span>
MsgBox CtrDialog.FileName</pre></div>

<font face="Verdana" size="2">In diesem Beispiel habe ich das Control <font color="#008000">CtrDialog</font> genannt. Mit dem Befehl <font color="#0000FF">ShowSave</font> wird der Dialog aufgerufen. Erst wenn der Dialog wieder geschlossen wird, geht's auch im Programm weiter. Über die Eigenschaft <font color="#0000FF">FileName</font> erhälst Du dann den Dateipfad, OK?

HTH,</font>

Biggi
25.09.2001, 10:14
Danke auch an Dich Stefan, aber mein Problem besteht weiterhin:
Ich habe diese comdlg32.ocx eingebunden, im Werkzeugkasten hab ich auch dieses Microsoft Common Dialog Control. Aber sobald ich es auf mein Formular ziehe, popt die Meldung "Sie verfügen nicht über die Lizens, um dieses AktiveX-Steuerelemnet einzusetzen.

Ja toll, was jetzt?

Birgit Dannenberg
26.09.2001, 10:36
Hallo Biggi, hast du das OCX auch registriert?
Dazu gehst du über Extras auf ActiveX-Steuerelemente und Registrieren...

Danach evtl. DB neu öffnen, Verweis neu eintragen, dann sollte es klappen.
--> Beim Ändern der Verweise immer zwischendurch speichern! D.h. Verweis löschen, schließen, Verweis eintragen, schließen...

HopeThatHelps - Biggi

Biggi
26.09.2001, 14:56
Danke Birgit,

habs so gemacht wie Du es gesagt hast.
Leider geht es bei mir nicht diesen Verweis hizuzufügen. Shit!!!

Und was nun???

Birgit Dannenberg
27.09.2001, 08:33
Hallo Biggi,
um die Probleme mit den ocx'en zu vermeiden - insbesondere bei der späteren Weitergabe an den Anwender - gibt es die bereits erwähnte API-Lösung.
Ich empfehle dir, die Code-Beispiele zu übernehmen.

Gruß Biggi

Biggi
30.09.2001, 23:12
Danke Biggi,

ich werde es mit diesem Api-Code versuchen, aber nach dem ersten Blich zu urteilen, werde ich da nicht ganz durchblicken.
Nach ein par Versuchen melde ich mich einfach wieder und berichte....

Bis dann

Biggi