tekst til clipboard

Brugerhjælp og support til makroer i LibreOffice Basic

Moderators: Lodahl, LarsBrandi

Post Reply
Jens Præst
Posts: 26
Joined: 6. Aug 2009 22:25
Location: nakskov

tekst til clipboard

Post by Jens Præst »

Jeg bruger en macro som jeg har fundet der kan hente en tekst i clipboardet og gemmer det i en stringvariabel.

Jeg laver så en ny string som jeg vil have eksporteret til clipbordet.

Jeg har fundet denne code, men har ikke (nærmest slet ikke) styr på hvad der er op og ned, hvordan og hvorfor.

Jeg vil helst have mulighed for at kalde en sub, som så sætter teksten på clipboardet

Code: Select all

Listing 5.60: Write a string to the clipboard. 

   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) 
   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 = "From OO with love ..." 
      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 
 'My XP system beep - shows that this routine is called every 2 seconds 
      'call MyPlaySoundSystem("SystemAsterisk", true) 
     TR_isDataFlavorSupported = (aFlavor.MimeType = "text/plain;charset=utf-16") 
   End Function 
Post Reply