Bonjour,
Existe-t-il une fonction Basic de traitement de chaine de caractère qui rend une chaine de caractères conforme aux /noms d'objets/ comme dans TextTable.Name : supprime les espaces, caractères accentués, ... ?
Merci
Bonjour,
Existe-t-il une fonction Basic de traitement de chaine de caractère qui rend une chaine de caractères conforme aux /noms d'objets/ comme dans TextTable.Name : supprime les espaces, caractères accentués, ... ?
Merci
Excellent ce document, Jean-François :
https://documentation.libreoffice.org/assets/Uploads/Documentation/en/MACROS/RefCards/LibOBasic-5-ExecLib-Flat-A4-EN-v101.pdf
Mais je ne retrouve pas la page source de ce document...
Bonjour,
Mais je ne retrouve pas la page source de ce document...
envoyé en MP.
Voir aussi ici :
https://documentation.libreoffice.org/en/english-documentation/macro/
Si vous répondez, merci de penser à utiliser la fonction "répondre à tous" de votre logiciel de courrier électronique de façon que la liste reçoive une copie de votre réponse.
Bien cordialement,
Stéphane,
Existe-t-il une fonction Basic de traitement de chaine de caractère qui rend une chaine de caractères conforme aux /noms d'objets/ comme dans TextTable.Name : supprime les espaces, caractères accentués, ... ?
non, rien de tout prêt dans la bibliothèque d'exécution.
Voici une fonction TitleCase qui va te permettre de démarrer :
8< --------------------------------------------------------
Function TitleCase(ByRef pStr As String) As String
'Converts a string into titlecase.
'eg: "test the o'connors and the mac-addamses" -> "Test The O'Connors And The Mac-Addamses"
'Input:
'-- pStr: the string to process
'Output: the processed string
Dim l_Str As String 'output buffer
Dim l_StrUC As String 'temporary version with uppercase chars
Dim l_SplitChars As String 'chars where to split the titles
Dim l_arrItems As Variant 'array of title items
Dim l_StrTmp As String 'temporary buffer
Dim l_CurSplit As String 'a splitting character
Dim j As Long
Dim i As Long
If (pStr = "") Then
l_Str = pStr
Else
'set the splitting chars set
l_SplitChars = " '’-" & Chr(160) 'Chr(160) = unbreakable space
'process the input string for each splitting character
l_Str = LCase(pStr)
l_Str = UCase(Left(l_Str, 1)) & Right(l_Str, Len(l_Str) - 1)
For i = 1 to Len(l_SplitChars)
l_CurSplit = Mid(l_SplitChars, i, 1)
l_arrItems = Split(l_Str, l_CurSplit)
If (UBound(l_arrItems) > 0) Then
l_StrTmp = ""
l_Str = ""
For j = 0 to UBound(l_arrItems)
'set 1st char uppercase
l_StrUC = UCase(Left(l_arrItems(j), 1)) & Right(l_arrItems(j), Len(l_arrItems(j)) - 1)
'add the split char if it is the first char
If (j > 0) Then
l_StrTmp = l_StrTmp & l_CurSplit & l_StrUC
Else
l_StrTmp = l_StrTmp & l_StrUC
End If
Next
'update the string to process
l_Str = l_Str & l_StrTmp
End If
Next
End If
TitleCase = l_Str
End Function 'TitleCase
Sub _TitleCase_Test()
Print TitleCase("test the o'connors and the mac-addamses")
End Sub '_TitleCase_Test
----------------------------------------------------- >8
Si vous répondez, merci de penser à utiliser la fonction "répondre à tous" de votre logiciel de courrier électronique de façon que la liste reçoive une copie de votre réponse.
Bien cordialement,
Si vous répondez, merci de penser à utiliser la fonction "répondre à tous" de votre logiciel de courrier électronique de façon que la liste reçoive une copie de votre réponse.
Bien cordialement,
Bonjour,
Mais je ne retrouve pas la page source de ce document...
envoyé en MP.
Merci mais je ne demandais pas les documents sources de ces PDF...
Voir aussi ici :
https://documentation.libreoffice.org/en/english-documentation/macro/
Voilà ce que j'attendais, la page Web source où ces documents PDF (trouvés en direct par Google) (et d'autres ?) peuvent être téléchargés.
Merci