1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
| Dim Cellule As Object , oTextfields As Object
Dim Feuille As Object, Curseur As Object
Dim Cible As Object
Dim iCount As Integer, iCount2 As Integer, isheet As Integer, ligneend As Integer, colonneend As Integer
Dim searchhyper, remplacehyper, search, remplace
'calcule du nombre de feuille
sheetscount = ThisComponent.Sheets
'récupération du répertoire source
search = InputBox("Indiquez le texte à rechercher", "RECHERCHER REMPLACER LIEN HYPERTEXTE", "")
'conversion pour le lien du répertoire
searchhyper = replace(search,"\","/")
'récupération du répertoire de destination
remplace = InputBox("Indiquez le texte remplacer", "RECHERCHER REMPLACER LIEN HYPERTEXTE", "")
'conversion pour le lien de destinataion
remplacehyper = replace(remplace,"\","/")
'sélection du classeur
sheets = ThisComponent.Sheets
'parcourir les feuilles - sheets.count indique le nombre de feuilles
For isheet= 0 to sheets.count-1
'Sélection de la feuille
Feuille = ThisComponent.Sheets.getByIndex(isheet)
'récupération de la dernière ligne et colonne
Curseur = Feuille.createCursor()
Curseur.gotoStartOfUsedArea(False)
Curseur.gotoEndOfUsedArea(True)
Cible = Curseur.getRangeAddress()
For iCount = 0 To Cible.EndColumn
For iCount2 = 0 To Cible.EndRow
' Sélection de la celulle
Cellule = ThisComponent.Sheets(isheet).GetCellByPosition(iCount,iCount2)
oTextfields = Cellule.TextFields
'Vérifie s'il y a des liens dans la cellule
If oTextfields.Count = 0 Then
Else
'remplacement du texte et du lien
oTextFields(0).URL = replace(oTextFields(0).URL,searchhyper,remplacehyper)
oTextFields(0).Representation = replace(oTextFields(0).Representation,search,remplace)
End If
Next iCount2
Next iCount
Next isheet
Print "fin" |
Partager