Le 5 juillet 2009 19:41, Francois Gatto <o...@volcar.org> a écrit :

> Bonsoir,
> Je pense que ces échanges sur le forum [EN] devrait répondre à tes
> préoccupations (si j'ai bien compris).
>
> http://user.services.openoffice.org/en/forum/viewtopic.php?f=45&t=13783
>

bonsoir et merci,
j'ai réussi avec ces informations.

Voilà le code qui copie une chaine de caractère dans le presse papier et qui
le colle aussitôt.

    Private oTRX
>     Sub Main
>        Dim null As Object
>        Dim sClipName As String
>        sClipName = "com.sun.star.datatransfer.clipboard.SystemClipboard"
>        oClip = createUnoService(sClipName)
>        oTRX = createUnoListener("TR_",
> "com.sun.star.datatransfer.XTransferable")
>        oClipContents = oClip.setContents(oTRX, null)

rem coller
>
> ThisComponent.currentController.insertTransferable(oClip.getContents)
>     End Sub
>
>
> '*------------------------------------------------------------------------------------------------------------*
>     Function TR_getTransferData( aFlavor As
> com.sun.star.datatransfer.DataFlavor ) As Any
>
> '*------------------------------------------------------------------------------------------------------------*
>     If (aFlavor.MimeType = "text/plain;charset=utf-16") Then
>        TR_getTransferData = "Mon texte"
>     EndIf
>     End Function
>
>
> '*------------------------------------------------------------------------------------------------------------*
>     Function TR_getTransferDataFlavors() As Any
>
> '*------------------------------------------------------------------------------------------------------------*
>     Dim aF As New com.sun.star.datatransfer.DataFlavor
>     aF.MimeType = "text/plain;charset=utf-16"
>     aF.HumanPresentableName = "Unicode-Text"
>     TR_getTransferDataFlavors = Array(aF)
>     End Function
>
>
> '*------------------------------------------------------------------------------------------------------------*
>     Function TR_isDataFlavorSupported( aFlavor As
> com.sun.star.datatransfer.DataFlavor ) As Boolean
>
> '*------------------------------------------------------------------------------------------------------------*
>     TR_isDataFlavorSupported = (aFlavor.MimeType =
> "text/plain;charset=utf-16")
>     End Function
>

C'est, je pense, la seule manière de coller du texte au point d'insertion
dans une cellule Calc en cours d'édition.

Merci à tous pour votre aide.
-- 
Christophe Devalland

Répondre à