Autor Thema: Symbole der Dateianhänge  (Gelesen 4486 mal)

Offline Demian

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 569
  • Geschlecht: Männlich
Symbole der Dateianhänge
« am: 10.05.06 - 13:07:43 »
Hallo alle zusammen,

wenn ich einer Maske per Script einen Dateianhang hinzufüge, zeigt er mir zwar den Anhang samt Dateinamen ein, jedoch ist das Symbol nur ein gräuliches Blatt, obwohl es eine Word-Datei ist.

Hier der Code:

   Dim work As New NotesUIWorkspace
   Dim udoc As NotesUIDocument
   Dim doc As NotesDocument
   Dim item As NotesRichTextItem
   Dim obj As NotesEmbeddedObject
   
   Set udoc = work.CurrentDocument
   Set doc = udoc.Document
   
   Call udoc.Save
   
   Set item = New NotesRichTextItem(doc,"Anhang")
   Set obj = item.EmbedObject(EMBED_attachment,"" ,"C:\Rechnung.DOC","Rechnung")

Wenn man ganz normal über "Datei" -> "Anhängen" eine Datei anhängt zeigt er das jeweilige Programmsymbol an.

Kann man das per Code auch so machen, oder zeigt er immer ein gräuliches Blatt?

Gruß
Demian
Gruß
Demian

Glombi

  • Gast
Re: Symbole der Dateianhänge
« Antwort #1 am: 10.05.06 - 13:21:17 »
Das hatten wir schon öfters hier diskutiert. Wenn das Attachment im Backend erzeugt wird, wird das "neutrale" Symbol verwendet.

Andreas

Offline Demian

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 569
  • Geschlecht: Männlich
Re: Symbole der Dateianhänge
« Antwort #2 am: 10.05.06 - 15:09:16 »
Hallo Andreas,

habe auch die Suchfunktion benutzt. Bin dabei aber nur auf einen Beitrag gestoßen in dem es um dasselbe ging (per Formeln). Es gab jedoch keine Antworten. Deswegen habe ich einen neuen Beitrag aufgemacht.

Wie müsste es denn im Frontend aussehen?

Gruß
Demian
Gruß
Demian

Glombi

  • Gast
Re: Symbole der Dateianhänge
« Antwort #3 am: 10.05.06 - 15:17:31 »
Muss es Script sein. Wenn es auch Formelsprache sein kann, dann geht es mit

@Command( [EditInsertFileAttachment] ; file ; compress )


Ich habe es auch schon mal so gemacht:
Das
@Command( [EditInsertFileAttachment] ; file ; compress )
im Postopen ausführen, wenn es spezielles Feld gesetzt ist. Dazu muss das vorher mit Script gesetzt worden sein. Vorher das Frontend UIDoc schließen und neu öffnen.
Im Queryclose dann das Flag löschen.

So a la von hinten durch die Brust ins Auge. Aber es geht.

Andreas

Offline Demian

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 569
  • Geschlecht: Männlich
Re: Symbole der Dateianhänge
« Antwort #4 am: 10.05.06 - 15:25:50 »
Es müsste schon Script sein, weil dem Dateianhängen noch einiges voraus geht, was sich über Formeln nicht lösen lässt:

'Allgemein
   Dim work As New NotesUIWorkspace
   Dim doc As NotesDocument
   Dim udoc As NotesUIDocument   
   'zu übertragende Texte
   Dim Firma As String,Straße As String,PLZ As String,Ort As String
   Dim LieferscheinNr As String, UAuftrag As String, UZeichen As String
   Dim Telefon As String, IAuftrag As String, ADatum As String, LieferantenNr As String
   Dim Position(9) As String, Menge(9) As String, BNummer(9) As String, BText(9) As String   
   'Word
   Dim wd   
   'um Speichernamen zu ermitteln
   Dim ZwischenSpeicher As String
   
   Set udoc = work.CurrentDocument
   If udoc.EditMode = False Then udoc.EditMode = True ' Für Speicherbefehl, wenn bereits erstelltes Doc erneut erstellt wird
   
   On Error Resume Next
   Set wd = getobject(,"Word.Application")   
   If Err = 208 Then
      Err = 0
      Set wd = createobject("Word.Application")
   End If
   On Error Goto 0
   
   With wd
      .visible = True
      
      'Empfänger
      .documents.open "C:\Lieferschein.doc"
      .Activedocument.Bookmarks("Firma1").Select
      .Selection.Text = udoc.FieldGetText("FirmaLieferschein")
      .Activedocument.Bookmarks("Straße").Select
      .Selection.Text = udoc.FieldGetText("StraßeLieferschein")
      .Activedocument.Bookmarks("Ort").Select
      .Selection.Text = udoc.FieldGetText("PLZLieferschein") &  " " & udoc.FieldGetText("OrtLieferschein")
      
      'Lieferscheindaten
      .Activedocument.Bookmarks("LieferscheinNr").Select
      .Selection.Text = udoc.FieldGetText("LieferscheinNr")
      .Activedocument.Bookmarks("IAuftrag").Select
      .Selection.Text = udoc.FieldGetText("IAuftragLieferschein")
      .Activedocument.Bookmarks("ADatum").Select
      .Selection.Text = udoc.FieldGetText("AuftragsDatumLieferschein")
      .Activedocument.Bookmarks("LieferantenNr").Select
      .Selection.Text = udoc.FieldGetText("LieferantenNrLieferschein")
      
      'Unsere Daten
      .Activedocument.Bookmarks("UAuftrag").Select
      .Selection.Text = udoc.FieldGetText("UAuftragLieferschein")
      .Activedocument.Bookmarks("UZeichen").Select
      .Selection.Text = udoc.FieldGetText("UZeichenLieferschein")
      .Activedocument.Bookmarks("Telefon").Select
      .Selection.Text = udoc.FieldGetText("TelefonLieferschein")
      .Activedocument.Bookmarks("Datum").Select
      .Selection.Text = Today
      
      'Postionen
      For i = 1 To 20
         .Activedocument.Bookmarks("Pos"&i).Select
         .Selection.Text = udoc.FieldGetText("PosLieferschein" & i)
      Next i
      
      'Mengen
      For i = 1 To 20
         .Activedocument.Bookmarks("Menge"&i).Select
         .Selection.Text = udoc.FieldGetText("MengeLieferschein" & i)
      Next i
      
      'Beschreibungsnummern
      For i = 1 To 20
         .Activedocument.Bookmarks("BNummer"&i).Select
         .Selection.Text = udoc.FieldGetText("BeschreibungsNrLieferschein" & i)
      Next i
      
      'Beschreibungstext
      For i = 1 To 20
         .Activedocument.Bookmarks("BText"&i).Select
         .Selection.Text = udoc.FieldGetText("BeschreibungZeile" & i)
      Next i   
      
      Zwischenspeicher = udoc.Fieldgettext("LieferscheinNr")
      Firma = udoc.FieldGetText("FirmaLieferschein")
      
      wd.Activedocument.saveas ("C:\" & Zwischenspeicher & "-"  & Today & "-" & Firma & ".doc" )
      wd.activedocument.close
   End With   
   
   Call udoc.Save
   
   Dim item As NotesRichTextItem
   Dim obj As NotesEmbeddedObject
   
   Set doc = udoc.Document
   Set item = doc.GetFirstItem("DateiAnhang")
   Set obj = item.EmbedObject(EMBED_ATTACHMENT,"" ,"C:\" & Zwischenspeicher  & "-" & Today & "-" & Firma & ".doc")
   Call udoc.Save   
   udoc.EditMode = False

Würde es sich denn überhaupt über Script lösen lassen?

Gruß
Demian
Gruß
Demian

Glombi

  • Gast
Re: Symbole der Dateianhänge
« Antwort #5 am: 10.05.06 - 15:34:29 »
Also dann Plan B von mir:

anstelle von

Zitat
Call udoc.Save
   
   Dim item As NotesRichTextItem
   Dim obj As NotesEmbeddedObject
   
   Set doc = udoc.Document
   Set item = doc.GetFirstItem("DateiAnhang")
   Set obj = item.EmbedObject(EMBED_ATTACHMENT,"" ,"C:\" & Zwischenspeicher  & "-" & Today & "-" & Firma & ".doc")
   Call udoc.Save   
   udoc.EditMode = False

folgendes:

dim path as string
path = "C:\" & Zwischenspeicher  & "-" & Today & "-" & Firma & ".doc"

Set doc = udoc.Document

doc.FlagAttachFile = "1"
doc.AttachFileName = path
call doc.Save(true,true,true)

   Call udoc.Save   
   call udoc.Close

call work.EditDocument( doc, true )


Im Postopen dann
@If(
 FlagAttachFile = "1";
  @Do(
    @Command( [EditInsertFileAttachment];AttachFileName);
    @SetField("FlagAttachFile";"")
  );
 ""
)


« Letzte Änderung: 10.05.06 - 15:36:27 von Glombi »

Offline Demian

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 569
  • Geschlecht: Männlich
Re: Symbole der Dateianhänge
« Antwort #6 am: 10.05.06 - 15:52:22 »
Hallo Andreas,

Kenne mich zwar noch nicht so gut aus, aber das heißt doch das er bei bzw. nach jedem Öffnen den Dateianhang hinzufügt, oder?

Wollte nämlich die Dateien nur temporär auf der Platte speichern und später per Code wieder löschen.

Gruß
Demian
Gruß
Demian

Glombi

  • Gast
Re: Symbole der Dateianhänge
« Antwort #7 am: 10.05.06 - 15:54:10 »
Nein, nur falls

FlagAttachFile = "1"

ist. Und das setze ich ja mit Script auf "1" und lösche es im Postopen.

Sonst wäre das in der Tat keine so tolle Lösung  ;)

Andreas

Offline Demian

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 569
  • Geschlecht: Männlich
Re: Symbole der Dateianhänge
« Antwort #8 am: 11.05.06 - 09:15:19 »
Hallo Andreas,

habe es jetzt so gemacht, wie du geschrieben hast. Allerdings musste ich das "call work.editdocument(doc,true)" in "call work.editdocument(true)" umändern, weil sonst immer der Fehler "incorrect argument type: object inspected" kam.

Leider funktioniert es nicht. Es kommt aber auch keine Fehlermeldung.

Gruß
Demian
Gruß
Demian

Offline Demian

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 569
  • Geschlecht: Männlich
Re: Symbole der Dateianhänge
« Antwort #9 am: 11.05.06 - 18:42:10 »
Muss mich korriegieren. Er zeigt mir in der Ansicht unter "Namen der Dateianhänge" zwar den Namen an, aber es ist kein Anhang da.
Gruß
Demian

Offline LN4ever

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 505
  • Geschlecht: Männlich
Re: Symbole der Dateianhänge
« Antwort #10 am: 27.05.06 - 21:38:09 »
Wenn du die Mail per Script erzeugst und immer nur ein WORD-Dokument anhängst, dann gib ihr doch als Feld
_Viewicon
gefüllt mit dem Wert des WORD-Dokument-Symbols gleich mit. Dann wird es auch als Symbol angezeigt.
Situs vilate in isse tabernit.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Symbole der Dateianhänge
« Antwort #11 am: 27.05.06 - 21:42:13 »
Aber nur in der Ansicht ... Ich glaube nicht, dass das im Sinne des Fragestellers war. Hilfreich kann es aber natürlich sein  ;)

Bernhard

PS: _ViewIcon müsste dann den numerischen Wert 142 haben. Das nur der Vollständigkeit halber.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz