Autor Thema: Datei anhängen per Button??  (Gelesen 3612 mal)

Offline Tibo

  • Frischling
  • *
  • Beiträge: 27
  • Geschlecht: Männlich
Datei anhängen per Button??
« am: 13.03.08 - 08:02:37 »
Hallo zusammen!

Ich habe folgendes Problem: Um es den Anwendern einfacher zu gestallten, soll es möglich sein, durch die Betätigung eines Buttons ein Dialogfenster des Explorers anzuzeigen, um sich dann eine Datei auszuwählen.

Ich habe bereits folgenden Code geschrieben:

Code
Sub Click(Source As Button)
	Dim ws As New NotesUIWorkspace
	Dim s As New NotesSession
	Dim db As NotesDatabase
	Dim uidoc As NotesUIDocument
	Dim newuidoc As NotesUIDocument
	Dim doc As NotesDocument
	Dim anhang As NotesRichTextItem
	Dim datei As Variant
	
	'Für Fehlerbehandlung: Name des aktuellen Objektes
	Const constrObjectName = "frmEingabe"
	
	'Aufruf der Fehlerbehandlung
	On Error Goto ErrHandler
	
	
	Set uidoc = ws.CurrentDocument
	Set db = s.CurrentDatabase
	Set doc = uidoc.Document
	
	
	'Anhang vorhanden?
	If doc.HasEmbedded Then
		Msgbox "Sie haben bereits ein PDF ausgewählt", 48, "Fehler"
		Exit Sub
	End If
	
	'neues Dokument?
	If doc.IsNewNote Then
		Set anhang = New NotesRichTextItem(doc, "posAhang")
	Else
		Set anhang = doc.GetFirstItem("posAnhang")
	End If
	
	
	'Dateidialog öffnen
	datei = ws.OpenFileDialog(False)
	'Abbruch, falls keine Datei ausgewählt wurde
	If Isempty(datei) Then
		Exit Sub
	End If
	
	Call uidoc.GotoField("posAnhang")
	
	If anhang.type = 1 Then
		Call anhang.EmbedObject(EMBED_ATTACHMENT, "", datei(0))
		Call anhang.Update
		doc.SaveOptions = "0"
		Call uidoc.Close(True)
		Set NewUIDoc = ws.EditDocument(True, doc)
		Delete uidoc 'Referenz auf das alte Frontend-Dokument löschen
		Set Doc = NewUIDoc.Document
		Call doc.RemoveItem("SaveOptions")
	End If
	
	
Ende:
	Exit Sub
	
ErrHandler:
	Call pdfOutputError(constrObjectName, Err, Erl(), Error())
	Resume Ende
	
End Sub

Doch leider funktioniert der leider nicht. Kann mir da jemand weiterhelfen?

Gruß Tibo

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Datei anhängen per Button??
« Antwort #1 am: 13.03.08 - 08:08:50 »
Wie immer die gleiche Frage.
Was funktioniert nicht.
Ohne Fehlerbeschreibung bringt das nicht viel...
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline Tibo

  • Frischling
  • *
  • Beiträge: 27
  • Geschlecht: Männlich
Re: Datei anhängen per Button??
« Antwort #2 am: 13.03.08 - 08:16:28 »
Sorry  ;)

Im Code läuft er bis zu der Stelle:

Code
If anhang.type = 1 Then

Ab:

Code
Call anhang.EmbedObject(EMBED_ATTACHMENT, "", datei(0))

mach er nichts mehr.

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re: Datei anhängen per Button??
« Antwort #3 am: 13.03.08 - 08:18:12 »
Was heißt macht nichts mehr? Kommt eine Fehlermeldung, oder wie? Schonmal mit dem Debugger geschaut?

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Datei anhängen per Button??
« Antwort #4 am: 13.03.08 - 08:46:27 »
Auf die Schnelle ist mir ein Schreibfehler aufgefallen:

...
'neues Dokument?
   If doc.IsNewNote Then
      Set anhang = New NotesRichTextItem(doc, "posAhang")
   Else
      Set anhang = doc.GetFirstItem("posAnhang")
   End If
...


Tritt der Fehler nur bei neuen Dokumenten oder auch bei bestehenden auf? RTF-Felder reagieren manchmal etwas seltsam wenn das Dokument noch nicht gespeichert wurde.

Axel



Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline gossifu

  • Senior Mitglied
  • ****
  • Beiträge: 352
  • Geschlecht: Männlich
  • Dummheit schafft Freizeit
Re: Datei anhängen per Button??
« Antwort #5 am: 13.03.08 - 09:16:25 »
Außerdem wird das Dokument nicht mit dem Anhang gespeichert.
Es gibt kein Save. Da bleibt dann auch der Anhang nicht drin.

Vielleicht kann man das auch mit Formula lösen:

Mit
Code
@Attachmentnames 

die Namen der evtl. vorhandenen Anhänge auslesen und auf die Dateiendung .pdf prüfen und wenn das alles korrekt ist mit
Code
@Command( [EditInsertFileAttachment] ; Datei ; Komprimieren )
ohne Angabe des Dateinamens aufrufen. Dann sieht amn auch gleich den Anhang, ohne speichern, schließen und öffnen.

mfg

Kjeld
Immer lustig und vergnügt, bis der A.... im Sarge liegt. ;-)

Offline Tibo

  • Frischling
  • *
  • Beiträge: 27
  • Geschlecht: Männlich
Re: Datei anhängen per Button??
« Antwort #6 am: 13.03.08 - 09:36:53 »
Also, mit macht nicht mehr mein ich, dass der Code nur bis zu dieser Stelle läuft und dann einfach abbricht.

Leider hat es nicht an den Schreibfehler gelegen @Axel
trotzdem Danke!

@gossifu mit Formeln hab ich es auch schon verscuht, weiß leider nur nicht, wie ich dabei das Dialogfeld zur Auswahl der Datei aufrufe...

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Datei anhängen per Button??
« Antwort #7 am: 13.03.08 - 09:40:51 »
Fehlermeldung? Du hast ja einen Errorhandler drin. Also sollte doch auch was ausgegeben werden.
Wenn nicht, ersetzt den Funktionsaufruf durch einen lokalen Errorhandler.
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Datei anhängen per Button??
« Antwort #8 am: 13.03.08 - 09:44:23 »
...mit Formeln hab ich es auch schon verscuht, weiß leider nur nicht, wie ich dabei das Dialogfeld zur Auswahl der Datei aufrufe...

So:

@Command( [EditInsertFileAttachment]

Und um ganz sicher zu gehen, dass du im richtigen Feld bist, setzt du noch ein

@Command([EditGotoField]; "NamedesRTFFeldes");

davor.


Axel
« Letzte Änderung: 13.03.08 - 09:46:51 von Axel »
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Tibo

  • Frischling
  • *
  • Beiträge: 27
  • Geschlecht: Männlich
Re: Datei anhängen per Button??
« Antwort #9 am: 13.03.08 - 10:36:39 »
Danke Axel, hat alles super geklappt!

Gruß Tibo

Offline LN4ever

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 505
  • Geschlecht: Männlich
Re: Datei anhängen per Button??
« Antwort #10 am: 13.03.08 - 11:12:46 »
Und wenn das Feld nur Anhänge aufnehmen soll, dann kann man sich den Zinnober  mit Buttons sparen, die im Web dann nicht funktionieren und einfach ein RICHTEXTLITE-Feld daraus machen, in dem man vorgibt, daß nur Dateianhänge ausgewählt werden können. Dann ist die Schaltfläche direkt am Feld da und funktioniert auch im Web.

Nutze die Bordmittel, wo immer es geht.

Gruß

Norbert
Situs vilate in isse tabernit.

Offline gossifu

  • Senior Mitglied
  • ****
  • Beiträge: 352
  • Geschlecht: Männlich
  • Dummheit schafft Freizeit
Re: Datei anhängen per Button??
« Antwort #11 am: 13.03.08 - 15:35:38 »
@Norbert: Ja, man sollte öfter mal direkt vor seine Füße sehen.
Warum einfach, wenns auch kompliziert geht.;)

mfg

Kjeld
Immer lustig und vergnügt, bis der A.... im Sarge liegt. ;-)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz