Jump to content

Put data from file to the clipboard in all available formats?


Recommended Posts

Hi...

How to put data to clipboard in all available formats?
 
I use _ClipBoard_GetData to save all formats data to files but when I try to put them again to clipboard using _ClipBoard_SetData, I have available  only the last data format which I used. After that when I try put this data to "Microsoft Word" I get only "Cleaned" text format. 
When I the set last format as a HTML and I put to "Micorosft Word" everything fine, but I can't put to Notepad (I get empty value). 
 
When I doing this same with _ClipBoard_GetDataEx to save data to memory object (not to file) and put them again using _ClipBoard_SetDataEx all data formats are available...
 
Help? 
 
Link to post
Share on other sites

Post the code you're using, without knowing what you're doing and how we're only guessing.

If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Link to post
Share on other sites

Sorry...

#include <Clipboard.au3>
#include <Array.au3>

$_ClipData = _ClipGet()
_ArrayDisplay($_ClipData)
_ClipEmpty()
_ClipPut($_ClipData)
$_ClipData = _ClipGet()
_ArrayDisplay($_ClipData)

Func _ClipGet()
    Local $RECORDS[1][2]
    $RECORDS[0][0] = 0
    Local $iFormat, $Errors = 0, $iData

    Do
        If Not _ClipBoard_Open(0) Then Return -1
        $iFormat = _ClipBoard_EnumFormats ($iFormat)
        _ClipBoard_Close()
        If $iFormat <> 0 Then
            ReDim $RECORDS[UBound($RECORDS) + 1][2]
            $RECORDS[UBound($RECORDS) - 1][0] = $iFormat
            $RECORDS[UBound($RECORDS) - 1][1] = _ClipBoard_GetData($iFormat)
            $RECORDS[0][0] += 1
        EndIf
    Until $iFormat = 0
    Return $RECORDS
EndFunc

Func _ClipPut($_ClipArray)
    If Not IsArray($_ClipArray) Then Return -1
    For $Step = 1 To $_ClipArray[0][0]
        _ClipBoard_SetData($_ClipArray[$Step][1], $_ClipArray[$Step][0])
    Next
EndFunc

Func _ClipEmpty()
    _ClipBoard_Open(0)
    _ClipBoard_Empty()
    _ClipBoard_Close()  
EndFunc
 
When I copy data from a website I receives formats: 13, 493811, 16, 1, 7
 
When I re-paste the data and get the data again receives formats 4, 16, 1, 13.
Edited by piterek
Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Fadi
      Hi i'm trying to create a ClipPut with differents font size and font and then paste it into word document.
      I know in Word document, i can send("^+P") and change the font size, but it's not then best way to do if i have to change the font and size many time in the document.
          ShellExecute("ReportTemplate.doc")
          WinActivate("ReportTemplate.doc [Compatibility Mode] - Word")
          WinWaitActive("ReportTemplate.doc [Compatibility Mode] - Word")
          Sleep (1000)
          ClipPut("Underline Size 16: " & "Bold size 12" & "Normcal size 11")
          Send("^v")
      Any idea?
       
       
    • By diff
      Hello,
      still learning and trying to understand AutoIT but having problem in filling my PDF file.
       
      So my code looks like similar to this:
      Global $1 = "text text 44444444" Global $2 = "texting2 texting2" Global $3 = "newtext3 next3" ShellExecute ("C:\Users\XXX\Desktop\myPDF.pdf") WinWaitActive("MyPDF.pdf - Adobe Acrobat Reader DC") Send ("{TAB}") ClipPut($1) Send ("^v") Send ("{TAB 3}") ClipPut($2) Send("^v") Send ("{TAB}") ClipPut($3) Send("^v") So its fill my PDF form, the first field looks good, the code add the text text 4444, then second should be $2 with texting2 texting2 but for some reason the code uses for second and third field after TAB only variable $3.
      So, I receive in $2 and $3 for some reason same newtext3 next3 in both, why its skipping the variable $2? Maybe there also much better solution for instant text? Because Send writes with delay by letters which I don't like.
      Thanks!
    • By SkysLastChance
      What am I doing wrong here. 
      I am trying to get a list of names in the clip that look like
      Bob
      Greg
      James
      Kevin
      Etc...
      I have tried
      ClipPut("Bob" & @CRLF & "Greg" & @CRLF & "James" & @CRLF & "Kevin" & @CRLF & "Tim" & @CRLF & "Kelly" & @CRLF & _ "Susan"_& @CRLF & "Bill" & @CRLF & "Maggie" & @CRLF & "Amanda" & @CRLF & "Matt" & @CRLF & "Robert" & @CRLF & "Sara" & @CRLF & _ "Zach" & @CRLF) and
      ClipPut("Bob" & @CRLF & "Greg" & @CRLF & "James" & @CRLF & "Kevin" & @CRLF & "Tim" & @CRLF & "Kelly" & @CRLF & _ & "Susan"_& @CRLF & "Bill" & @CRLF & "Maggie" & @CRLF & "Amanda" & @CRLF & "Matt" & @CRLF & "Robert" & @CRLF & "Sara" & @CRLF & _ & "Zach" & @CRLF)  
    • By nacerbaaziz
      hello autoit group
      please i've a question
      i had make a function that put some thing into the clipBoard and paste it
      using the send function
      e.g
      ClipPut("hello")
      send("^v")
       
      when the keyboard is english all things work fine
      but when the keyboard is arabic the send command write the ltr v insted of the text in clipboard
      i was tryed to use
      send("{ctrldown}v{ctrlUp}")
      but the same
      please can any one help me
       
×
×
  • Create New...