Мой код делает:
- Поиск в форме для проверенного имени (кнопка радио)
- Поиск этого имени в файле CSV и извлечение некоторых значений (Имя, Название,функция и ссылка на изображения)
- Вставьте эти значения в документ Word (для справочного значения или значения подписи)
Это работает для стандартных имен, таких как Джон Смит, но когда у меня есть специальные буквыво имя, как Франсуа Бенет, это не так.Вместо é в документах появляется Ã ©.
Если в имени есть какие-то другие специальные символы, оно также не находит ничего в CSV.Но для этого я мог бы найти обходной путь.
Пробовал с другим форматом CSV, таким как UTF 8. Но в этом случае я получаю ошибку 3265.
'Répertoire
directory = "W:\Tous\DigitRHTemp\"
FileName = "BaseSignatureTest.csv"
'Ouverture de la connexion CSV
Set rs = CreateObject("ADODB.Recordset")
strcon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & directory & ";" _
& "Extended Properties=""text;HDR=Yes;FMT=Delimited;CharacterSet=850"";"
strSQL = "SELECT * FROM " & FileName
rs.Open strSQL, strcon, 3, 3
rs.MoveFirst
'Passer au travers des colonnes
Do
'Mise en variable des valeurs
col1 = rs("Nom")
col2 = rs("Fonction")
col3 = rs("DPT")
col4 = rs("Titre")
col5 = rs("Signature")
rs.MoveNext
'Si une valeur a été trouvée et qu'elle corresponds, définition des valeurs
If col1 = RHREF Then
'***
'--- Populer les signets Signatures 1
'***
'Test si signet exist dans le document
If ActiveDocument.Bookmarks.Exists("RHRefInt") = True Then
'Si oui - Position sur le signet
Selection.GoTo What:=wdGoToBookmark, Name:="RHRefInt"
'Insére le text
Selection.TypeText Text:=col4
End If
If ActiveDocument.Bookmarks.Exists("RHRefNom") = True Then
Selection.GoTo What:=wdGoToBookmark, Name:="RHRefNom"
Selection.TypeText Text:=col1
End If
End If
Loop Until rs.EOF
Есть ли какой-нибудь параметр, чтобы добавитьиметь правильный формат для французских символов (é, à, è, ç и т. д.)?