Autor Thema: Feld auf leeren Inhalt prüfen  (Gelesen 3474 mal)

Offline Fitz

  • Senior Mitglied
  • ****
  • Beiträge: 274
  • Geschlecht: Männlich
Feld auf leeren Inhalt prüfen
« am: 23.02.07 - 08:45:19 »
Hallo Notesfreunde,

ich möchte für alle User zentral eine Mailsignatur vorgeben. Dazu habe ich im Forum schon viele Hinweise und Scriptbeispiele gefunden. Meine Vorgehensweise ist nun folgende. Ich hinterlege im öffentlichen Adressbuch unter dem Reiter Verschiedenes -> Webseite die Signatur des Users. Mit dem Script im Postopen der Inbox kopiere ich die Signatur in das CalendarProfile.

Ich habe nur noch ein "kleines" Problem. Wenn keine Signatur im Feld Website vorhanden ist, wird die bestehende Signatur trotzdem überschrieben. Wie kann ich das Feld Website auf leeren Inhalt prüfen?

Danke für Infos :-)

Gruß
Bernd


Server R6.5.5FP1
Clients R5.12/6.5.5



Sub Postopen(Source As Notesuiview)
   
   Dim dbPAB As NotesDatabase    
   Dim dbNAB As NotesDatabase
   Dim nnUserName As NotesName
   Dim viewPeople As NotesView
   Dim docPerson As NotesDocument
   Dim session As NotesSession
   Dim dbCurrent As NotesDatabase
   
   Dim db As NotesDatabase
   Dim docCalenderProfile As NotesDocument
   Dim itemSignature As NotesItem
   
   Set Session = New NotesSession
   Set dbCurrent = session.CurrentDatabase
   
   ' pruefe ob die enames.nsf lokal auf der Workstation vorhanden ist
   ' enames.nsf ist eine Replik des Server Adressbuchs
   Set dbNAB = session.GetDatabase("", "enames.nsf")
   If dbNAB.IsOpen = False Then Goto Serverpruefung
   
   'Messagebox "enames.nsf der lokalen Workstation wird verwendet",,"ChangeSignaturPruefung"
   
   Goto ChangeSignatur
   
Serverpruefung:
   
   'pruefe ob die names.nsf auf dem Server vorhanden ist
   Set dbNAB = session.GetDatabase(dbCurrent.Server, "names.nsf")
   If dbNAB.IsOpen = False Then Goto FinishFunction
   
   'Messagebox "names.nsf vom SERVER wird verwendet",,"ChangeSignaturPruefung"
   
ChangeSignatur:
   
   'Messagebox "ChangeSignatur wird ausgeführt",,"ChangeSignaturPruefung"
   
   ' ermittle das Personendokument des aktuell angemeldeten Users
   ' wenn keine Personen gefunden wurde, dann beende die Funktion
   Set viewPeople = dbNAB.GetView("($VIMPeople)")
   Set nnUserName = New NotesName(session.UserName)
   Set docPerson = viewPeople.GetDocumentByKey(nnUserName.Abbreviated)
   If docPerson Is Nothing Then Goto FinishFunction
   
   ' lese Feld Website aus dem Personendokument aus   
   VorgabeSignatur = docPerson.Website
   
' --> wie kann ich das Feld auf leeren Inhalt prüfen?
' ein If VorgabeSignatur = "" oder If Isempty(VorgabeSignatur) = True then .... geht nicht  :-(


   Set session = New NotesSession
   Set db = session.CurrentDatabase
   Set docCalendarProfile = db.GetProfileDocument("CalendarProfile")
   Set itemSignature = docCalendarProfile.GetfirstItem("Signature_1")
   
   ' Setze Signatur bei jedem neuen Mail in das Memo Feld
   'docCalendarProfile.EnableSignature = "1"
   
   docCalendarProfile.SignatureOption = "1"
   docCalendarProfile.Signature_1 = VorgabeSignatur
   
   Call docCalendarProfile.Save(False, False)
   Call docCalendarProfile.ComputeWithForm(True,False)
   
FinishFunction:
   
End Sub
9x Domino Server 11.0.1
BlackBerry UEM12 Server
IBM Content Manager, ICC4Mail, eDiscovery Manager
Sametime 11.5

klaussal

  • Gast
Re: Feld auf leeren Inhalt prüfen
« Antwort #1 am: 23.02.07 - 08:47:19 »
VorgabeSignatur = docPerson.Website(0)

Offline Fitz

  • Senior Mitglied
  • ****
  • Beiträge: 274
  • Geschlecht: Männlich
Re: Feld auf leeren Inhalt prüfen
« Antwort #2 am: 23.02.07 - 10:33:44 »
Hallo,

Danke für den Tipp :-) Ich habe nun folgendes eingebaut und es geht

   ' wenn Feld Website ist leer dann verlasse die Funktion
   If docPerson.Website(0) = "" Then Goto FinishFunction :-)

Nur noch eine Frage: was hat das (0) für eine Bedeutung? Ich administriere hauptsächlich Notes und erstelle "einfache" Datenbanken, daher ist meine Lotus Script Erfahrung nicht sehr tief :-(

Gruß
Bernd
9x Domino Server 11.0.1
BlackBerry UEM12 Server
IBM Content Manager, ICC4Mail, eDiscovery Manager
Sametime 11.5

Offline DAU-in

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.129
  • Geschlecht: Weiblich
  • - unterwegs -
Re: Feld auf leeren Inhalt prüfen
« Antwort #3 am: 23.02.07 - 10:37:08 »
Der Rückgabewert ist ein Array uind mit der 0 sprichst du das erste (einzige) Element an
mühsam ernährt sich das Eichhörnchen

aktuelle Tätigkeit: Feldschubse

klaussal

  • Gast
Re: Feld auf leeren Inhalt prüfen
« Antwort #4 am: 23.02.07 - 10:39:49 »
Zitat
If docPerson.Website(0) = "" Then Goto FinishFunction

If Trim(docPerson.Website(0)) = ""  ist besser.

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: Feld auf leeren Inhalt prüfen
« Antwort #5 am: 23.02.07 - 11:34:40 »
Zitat
If Trim(docPerson.Website(0)) = ""  ist besser.

Noch besser wäre:

Code
if Trim( docPerson.getItemValue( "Website" )( 0 ) ) = "" Then 

Ist performanter  8)  ;D
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

klaussal

  • Gast
Re: Feld auf leeren Inhalt prüfen
« Antwort #6 am: 23.02.07 - 11:47:41 »
Zitat
Ist performanter 

0,5 msec gespart ?

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: Feld auf leeren Inhalt prüfen
« Antwort #7 am: 23.02.07 - 11:49:28 »

Zitat
0,5 msec gespart ?

Ja. ungefähr  8) ;)

Aber bei 100 Feldern ?!  ;D

Und ein weiterer Vorteil: Man kann den Feldnamen "berechnen" /dynamisch gestalten etc. ....
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

klaussal

  • Gast
Re: Feld auf leeren Inhalt prüfen
« Antwort #8 am: 23.02.07 - 12:01:11 »
OK, überzeugt  ;)

Offline Fitz

  • Senior Mitglied
  • ****
  • Beiträge: 274
  • Geschlecht: Männlich
Re: Feld auf leeren Inhalt prüfen
« Antwort #9 am: 23.02.07 - 12:33:45 »
Danke an alle....

> Der Rückgabewert ist ein Array uind mit der 0 sprichst du das erste (einzige) Element an

wieder was gelernt :-)

Gruß
Bernd
9x Domino Server 11.0.1
BlackBerry UEM12 Server
IBM Content Manager, ICC4Mail, eDiscovery Manager
Sametime 11.5

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz