Startseite > Lotus Notes Tutorial , LotusScript , Notes-Designer > Verwenden Sie LotusScript Programm Changing Database Icons

Verwenden Sie LotusScript Programm Changing Database Icons

Sind Sie einer jener Menschen, die nicht bekommen haben vom Arbeitsbereich in Notes 5 oder 6? Wenn ja, haben Sie wahrscheinlich gekommen, um die kleinen Symbole auf jeder der Datenbanken Liebe. Dieser Tipp zeigt Ihnen, wie programmgesteuert zu ändern, um das Symbol mit LotusScript durch die Schaffung einer nächtlichen Agenten, so jeden Tag Ihre Benutzer ein neues Symbol zu sehen sein. Man könnte sogar es so einrichten, das Symbol bei jedem Öffnen der Datenbank geändert wird. Denke, das ist dumm? Ich kann Ihnen aus Erfahrung sagen, dass die Durchführung dieser macht Mitglieder möchten sich in die Datenbank gehen. Sie wollen sehen, was die "icon of the day" ist, und dann werden sie am Ende das Lesen von Informationen in der Datenbank.

Es gibt drei Dinge, die Sie wissen müssen, um das Datenbank-Symbol zu ändern. Zunächst müssen Sie wissen, dass das Symbol eigentlich ein Notes-Dokument (wie jedes Design-Element) so kann es wie jedes Notes-Dokument manipuliert werden. Zweitens ist das eigentliche Bild in einem speziellen Feld namens IconBitmap gespeichert. Drittens müssen Sie den Speicherort (in der Datenbank) des Symbols kennen, damit Sie es bekommen kann und zu manipulieren. Das Standort variiert von Datenbank zu Datenbank. Es gibt Möglichkeiten, in den Anmerkungen 4 und 5, um die Lage programmatisch mit dem Notes-API zu finden. Notes 6 wurde eine neue Art und Weise mit dem neuen NotesNoteCollection Klasse. Aber das ist eigentlich Overkill für diese Übung, weil die Lage des Symbols, sobald die Datenbank erstellt wurde, ist behoben. So brauchen Sie nur zu schauen einmal und setzen Sie den Wert. Sie können an diesem Skript generischen und portable wollen, dann können Sie in dynamisch immer ein Handle auf das Symbol Dokument zu suchen. Aber hier werden wir einfach schauen Sie einmal und es dabei belassen.

So suchen Sie den Speicherort des Icons Dokument in Notes 5 auf Ressourcen gehen \ Andere in der Designer-Client oder in Notes 6 auf andere \ Database Ressourcen gehen. Markieren Sie das Symbol (nicht auf sie doppelklicken Sie auf, wie du wolltest ihn zu bearbeiten) und gehen Sie zu Design-Eigenschaften. Und notieren Sie sich die Dokument-ID (der Wert, beginnend mit "NT"). Dies ist ein Hex-Wert, und dies ist der Ort das Symbol Dokument in der Datenbank. Das ist, was Sie brauchen, um ein Handle für die Design-Element, wie ein Dokument zu bekommen.

Sub Initialize
Dim Session As New NotesSession
Dim db As NotesDatabase
Dim iconDoc Als NotesDocument
Dim newDoc Als NotesDocument
Dim Element als NotesItem

Set db = session.CurrentDatabase
Set iconDoc = db.GetDocumentById ("13E")
Set newDoc = db.createdocument
Rufen newDoc.ReplaceItemValue ("Form", "frmIcon")
Rufen newDoc.replaceItemValue ("Descr", "(unbeschrieben)")
Set item = iconDoc.GetFirstItem ("IconBitmap")
Rufen item.CopyItemToDocument (newDoc "IconBitmap")
Rufen newDoc.Save (True, True, True)
End Sub

Der Wert "13E" ist die Hex-Position des Icon-Design-Element in der Beispiel-Datenbank. Es höchstwahrscheinlich wird anders sein in jeder Datenbank. Dieser Agent stellt fest, dass Design-Element, kopiert dann die IconBitmap Feld in ein neues Dokument (normales Dokument, nicht ein Design-Element). Das neue Dokument wird ein Formularfeld und eine Beschreibung ein. Dies sind nur so das Dokument in Ansichten angezeigt werden, wie es in der Beispiel-Datenbank nicht getan. Das Dokument muss nicht in Ansichten angezeigt, wenn Sie nicht wollen, dass er.

Nachdem Sie die Unterlagen gebaut, wird es eine Frage der Auslagern der IconBitmap Feld auf die tatsächliche Icon Design-Dokument mit dem gleichen Gebiet auf einer dieser Pre-besiedelten Dokumente. Die Beispieldatenbank ist ein Agent, der Swaps auf das Symbol in der aktuellen Datenbank mit dem Symbol in das ausgewählte Dokument gespeichert.

So erstellen Sie ein "Symbol of the day" periodischen Agenten, sollten Sie zunächst die Datenbank der Symbole irgendwo, dass die geplanten Mittel zugreifen können. In Notes 5, muss sie auf dem gleichen Server wie die geplanten Mittel sein. In Notes 6, geplante Agenten können andere Server zugreifen, solange sie als vertrauenswürdig eingestuft werden, so könnte die Datenbank auf einem anderen Server. Die geplante Agent findet die Icon-Design beachten Sie, dann sucht sich zufällig ein neues Symbol und ersetzt die IconBitmap Feld. Hier ist ein Agent, der funktioniert:

Sub Initialize
Dim Session As New NotesSession
Dim currDb Als NotesDatabase
Dim iconDoc Als NotesDocument
Dim iconDb Als NotesDatabase
Dim iconColl Als NotesDocumentCollection
Dim iconPos As Long
Dim newIconDoc Als NotesDocument
Dim Element als NotesItem

Randomize
Set currDb = session.CurrentDatabase
Set iconDoc = currDb.GetDocumentById ("11A")
Wenn iconDoc Is Nothing Then Exit Sub
Set iconDb = session.GetDatabase ("", "icons.nsf")
Wenn iconDb Is Nothing Then Exit Sub
Set iconColl = iconDb.AllDocuments
Wenn iconColl Is Nothing Then Exit Sub
iconPos = Int (Rnd () * iconColl.Count)
Set newIconDoc = iconColl.GetNthDocument (iconPos)
Wenn newIconDoc Is Nothing Then Exit Sub
If Not newIconDoc.HasItem ("IconBitmap") Then Exit Sub
Rufen iconDoc.RemoveItem ("IconBitmap")
Set item = newIconDoc.GetFirstItem ("IconBitmap")
Wenn item Is Nothing Then Exit Sub
Rufen item.CopyItemToDocument (iconDoc "IconBitmap")
Rufen icondoc.Save (True, True, True)
End Sub

Beachten Sie, dass "11A" ist das Symbol Position in der Datenbank, die ich jede Nacht verändert habe, und "icons.nsf" ist der Pfad zu meiner Quelle "Icons Of The Day"-Datenbank (die Beispiel-Datenbank). Der Agent sucht sich zufällig ein Symbol aus allen verfügbaren Quellen icon Dokumente und ersetzt dann das Spezialgebiet in der aktuellen Datenbank auf das Symbol Design-Element mit dem gleichen Fachgebiet aus dem Quelldokument.

Genießen Sie Ihre Datenbank-Symbol auf einer nächtlichen Basis!

Betrachtet 7234 mal von 2364 Zuschauern

  1. Noch keine Kommentare.
  1. Bisher keine Trackbacks.