Domino 9 und frühere Versionen > ND7: Entwicklung

Symbole der Dateianhänge

(1/3) > >>

Demian:
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

Glombi:
Das hatten wir schon öfters hier diskutiert. Wenn das Attachment im Backend erzeugt wird, wird das "neutrale" Symbol verwendet.

Andreas

Demian:
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

Glombi:
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

Demian:
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

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln