Lotus Notes / Domino Sonstiges > Tools & Downloads
Find , Replace in Felder
koehlerbv:
Klaus, @ReplaceSubstring wird aber lustig ;D Wenn da jemand 'ne "01" in der Rufnummer hat (soll ja vorkommen ...), dann kannste den nicht mehr anrufen - es sei denn, Du hast die Nummer im Kopf ;)
Pascal: Sind die Telefonnummern denn überhaupt normiert ? Steht da nicht mal sowas wie +41 (0) 3257490157 und mal 01/349 56-001 ?
Beachte bitte: In beiden Telefonnummern kommt die 01 auch an Stellen vor, die bestimmt nicht ausgetauscht werden sollen.
Wenn das nicht normiert ist, kann auch kein Tool Dir beim Austausch helfen - dafür muss ein spezialisierter Parser geschrieben werden. Wenn es aber normiert ist, reicht ein Mini-Ädschentileinichen.
Bernhard
Pascal:
Hallo Bernhard
es ist, die ++41 oder was auch immer für eine internationale Vorwahl verwende ich nur für die Handynummern oder eine Private Tel. nummer ist wirklich im Ausland, was aber bei uns ändert , ist nur die " 01" und dies sind immer die ersten zwei Zeichen links im Feld PrivatPhon.
Weisst du, wenn ich die Formel in deutsch programmieren könnte, dass würde wunderbar funktionieren, nur bin ich mir nicht sicher ob Notes das verstehen würde ;-)
Gruss
Pascal
Semeaphoros:
... und dann kannst Du auch gleich dahinter und alle "++" durch "+" ersetzen, seit rund 15 Jahren gibt es eine ISO-Norm, die aussagt, dass internationale Telefonnummern mit EINEM Plus zu notieren sind (deshalb funktioniert die Nummernschreibweise mit + und Ländercode auch international zuverlässig in allen Ländern :) )
Christopher:
Erstell Dir einen Agenten mit folgenden Code Anschließend Dokumente auswählen und den Agenten starten:
Sub Initialize
Dim savecount%, tempstring$, itemstring$
Dim flag As Integer
Dim workspace As New Notesuiworkspace
Dim session As New Notessession
Dim thisdb As Notesdatabase
Dim collection As Notesdocumentcollection
Dim doc As Notesdocument
Dim dialogdoc As Notesdocument
Dim newdoc As Notesdocument
Dim tempitem As Notesitem
Dim dialogformname As String
Dim dialogform As NotesForm
Dim totalcount As Integer
Dim savedcount As Integer
Set thisdb = session.currentdatabase
Set collection = thisdb.unprocesseddocuments
totalcount = collection.count
Set dialogdoc = thisdb.createdocument
Set newdoc = thisdb.createdocument
Set doc = collection.GetFirstDocument
doc.ParentView.autoupdate = False
' Show copy of first selected document in dialog box
Call doc.CopyAllItems( dialogdoc )
'Get form name
Set tempitem = dialogdoc.GetFirstItem("Form")
If tempitem Is Nothing Then
dialogformname = ""
Else
' If Notesitem.Text property is empty or null (or anything but text), useempty string
Select Case Datatype(tempitem.text)
Case 8: dialogformname = tempitem.text
Case Else: dialogformname = ""
End Select
End If
Do
If dialogformname = "" Then
dialogformname = Inputbox( "Geben Sie einen Maskennamen für die Dokumentenbearbeitung ein, oder CANCEL zum Beenden." , "Maske nicht gefunden" )
If dialogformname = "" Then
Print "Sie haben keinen Maskennamen eingegeben, es wurden keine Änderungen vorgenommen."
Exit Sub
End If
End If
Set dialogform = thisdb.GetForm( dialogformname )
If dialogform Is Nothing Then dialogformname = ""
Loop Until dialogformname <> ""
flag = Workspace.DialogBox( dialogformname ,True,True,False,False,False,False,"Wenn Sie mit OK bestätigen, werden die Änderungen in allen ausgewählten Dokumenten übernommen !", dialogdoc,True,False)
If flag = False Then
Print "Der Dialog wurde abgebrochen, es wurden keine Änderungen vorgenommen."
Exit Sub
End If
Forall item In dialogdoc.items
If Datatype(item.text) = 8 Then
itemstring$ = item.text
Else
itemstring$ = ""
End If
Set tempitem = doc.GetFirstItem(item.name)
If tempitem Is Nothing Then
tempstring$ = ""
Elseif Datatype(tempitem.text) = 8 Then
tempstring$ = tempitem.text
Else
tempstring$ = ""
End If
If itemstring$ <> tempstring$ Then
Call item.copyitemtodocument(newdoc, "")
End If
End Forall
While Not doc Is Nothing
Call newdoc.CopyAllItems( doc, True )
savecount = savecount + 1
Print totalcount & " Dokumente gewählt, " & savecount & " Dokumente geändert"
Call doc.save(True, True, True)
Set doc = collection.GetNextDocument(doc)
Wend
End Sub
koehlerbv:
Der gepostete Agent ist nicht geeignet, die Zürcher Vorwahl zu verändern !
Bernhard
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln