Domino 9 und frühere Versionen > ND7: Entwicklung
Symbole der Dateianhänge
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