У меня есть csv-файл, содержащий контакты. Эти контакты должны быть импортированы через vb-Script в Exchange-Server. Проблема заключается в том, что исходный файл содержит символы, которые интерпретируются в качестве разделителя:Как удалить символы и игнорировать разделитель?
Germany,Seehger,Warehouse,Seehger,"Schmitt, Michael",,Michael,,,,,[email protected],,,,61462,Rosbach,,Frankfurter Strasse 243,,Warehouse
,,,,"Backup, Network",,Network,,,,,[email protected],,,,,Backup,,,,
В первой строке это «Schmitt, Майкл». Во второй строке это «Резервное копирование, сеть». Как удалить кавычки и убедиться, что запятые не интерпретируются как разделитель.
Мой первый подход состоял в том, чтобы использовать регулярное выражение для очистки данных до его импорта, что невозможно.
Это мой сценарий на данный момент:
Dim objFSO, objQuelldatei, objOu, objADKontakt, objKontakt
Dim strQuelldatei, strKontaktOU, strZeileTemp, strtemp
Dim aUserdaten
Const ForReading = 1
strKontaktOU = "LDAP://ou=KontakteTest,dc=exp,dc=xyz,dc=de"
strQuelldatei = "C:\test.csv"
Set objOu = GetObject(strKontaktOU)
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objQuelldatei = objFSO.OpenTextFile(strQuelldatei, ForReading)
Do Until objQuelldatei.AtEndOfStream
strZeileTemp = objQuelldatei.Readline
If InStr(strZeileTemp, Chr(34) >
'Werte per Komma trennen und in eindimensionales Array schreiben
aUserdaten = Split(strZeileTemp, ",")
emailExists = False
If Not emailExists Then
strtemp = aUserdaten(4)
wscript.echo strtemp
Set objKontakt = objOu.Create("contact", "CN=" &strtemp)
objKontakt.put "co" , aUserdaten(0)
objKontakt.put "company" , aUserdaten(1)
objKontakt.put "department" , aUserdaten(2)
objKontakt.put "description" , aUserdaten(3)
objKontakt.put "displayName" , aUserdaten(4)
objKontakt.put "facsimileTelephoneNumber" , aUserdaten(5)
objKontakt.put "givenName" , aUserdaten(6)
objKontakt.put "homePhone" , aUserdaten(7)
objKontakt.put "info" , aUserdaten(8)
objKontakt.put "initials" , aUserdaten(9)
objKontakt.put "ipPhone" , aUserdaten(10)
objKontakt.put "mail" , aUserdaten(11)
objKontakt.put "mobile" , aUserdaten(12)
objKontakt.put "pager" , aUserdaten(13)
objKontakt.put "physicalDeliveryOfficeName" , aUserdaten(14)
objKontakt.put "postalCode" , aUserdaten(15)
objKontakt.put "sn" , aUserdaten(16)
objKontakt.put "st" , aUserdaten(17)
objKontakt.put "streetAddress" , aUserdaten(18)
objKontakt.put "telephoneNumber" , aUserdaten(19)
objKontakt.put "title" , aUserdaten(20)
objKontakt.SetInfo
End If
Loop
objQuelldatei.Close
Почему это тэгом «VBScript/vb.net»? Не может быть и – Jobbo
@Jobbo: соответственно отредактировано. Простите за это. –