Bonjour,
Je recherche la syntaxe utiliser pour déplacer le curseur d'écriture dans une 
cellule d'un tableau à l'intérieur d'un document oWriter ?
Sous VB express 2005 j'ai utiliser sans succès cette méthode :
Sub HyperLienTableauPosition(ByVal sNomTableau As String, ByVal sLigneCellule 
As Integer, ByVal sColonneCellule As Integer, ByVal sTexteAAfficher As String, 
ByVal sURL As String)
Dim oMonTexte As Object
Dim oMonCurseur As Object
Dim oMonTableau As Object
Dim oMaCellule As Object
Dim sDocument As String
Dim Arguments(4) As Object
sDocument = ConvertToUrl(sURL)
oSel = oDocument.CurrentController.Frame
If oDocument.TextTables.hasByName(sNomTableau) Then
oMonTexte = oDocument.Text
oMonCurseur = oMonTexte.CreateTextCursor
oMonCurseur.gotoNextParagraph(False)
oMonCurseur.gotoNextParagraph(False)
oMonTableau = oDocument.TextTables.getByName(sNomTableau)
oMaCellule = oMonTableau.getCellByPosition(sColonneCellule - 1, sLigneCellule - 
1)
oMaCellule.string = "-"

Arguments(0) = MakePropertyValue("Hyperlink.Text", sTexteAAfficher)
Arguments(1) = MakePropertyValue("Hyperlink.URL", sDocument)
Arguments(2) = MakePropertyValue("Hyperlink.Target", "")
Arguments(3) = MakePropertyValue("Hyperlink.Name", sTexteAAfficher)
Arguments(4) = MakePropertyValue("Hyperlink.Type", 1)
oDispatcher.executeDispatch(oSel, ".uno:SetHyperlink", "", 0, Arguments)

End If
End Sub
Après avoir créé mon tableau avec la méthode suivante :
Sub InsererUnTableauUNO(ByVal sNombreLignes As Integer, ByVal sNombrecolonnes 
As Integer, ByVal sNomTableau As String)
Dim Arguments(3) As Object
Arguments(0) = MakePropertyValue("TableName", sNomTableau)
Arguments(1) = MakePropertyValue("Columns", sNombrecolonnes)
Arguments(2) = MakePropertyValue("Rows", sNombreLignes)
Arguments(3) = MakePropertyValue("Flags", 11)
oSel = oDocument.CurrentController.Frame
oDispatcher.executeDispatch(oSel, ".uno:InsertTable", "", 0, Arguments)
End Sub
Mon problème est que le curseur d'acriture ne se déplace pas dans la cellule 
choisie et l'hyperlien est inséré à la position du curseur.
Lorsque je fais une simple écriture avec la méthode suivante cela fonctionne :
Sub EcrireTableauPosition(ByVal sNomTableau As String, ByVal sLigneCellule As 
Integer, ByVal sColonneCellule As Integer, ByVal sValeur As String)
Dim oMonTexte As Object
Dim oMonCurseur As Object
Dim oMonTableau As Object
Dim oMaCellule As Object
If oDocument.TextTables.hasByName(sNomTableau) Then
oMonTexte = oDocument.Text
oMonCurseur = oMonTexte.CreateTextCursor
oMonCurseur.gotoNextParagraph(False)
oMonCurseur.gotoNextParagraph(False)
oMonTableau = oDocument.TextTables.getByName(sNomTableau)
oMaCellule = oMonTableau.getCellByPosition(sColonneCellule - 1, sLigneCellule - 
1)
oMaCellule.string = sValeur
End If
End Sub
Merci d'avance pour votre aide en espérant que quelqu'un pourra corriger mon 
code 
Bon Dev
Cezame

Répondre à