Solved

Excel - copy string to clipboard

Posted on 2014-03-30
7
1,913 Views
Last Modified: 2014-03-30
Say, I don't want to copy from a cel - but rather the text in a string - its a password that needs to be put in the clipboard. I'm using a macro/VBA code.
0
Comment
Question by:shaunwingin
  • 3
  • 2
  • 2
7 Comments
 
LVL 27

Assisted Solution

by:MacroShadow
MacroShadow earned 334 total points
ID: 39964832
1. Add a reference to the 'Microsoft Forms 2.0 Object Library'
2. This will put text in the clipboard:
Sub CopyToClipboard(strInput As String) 
    Dim oDataObject As New DataObject 
    oDataObject.SetText strInput 
    oDataObject.PutInClipboard 
End Sub 

Open in new window

Now
CopyToClipboard("Password")

Open in new window

Will put Password in the Windows clipboard
3. This will paste from Windows clipboard:
Sub PasteFromClipboard() 
    Dim oDataObject As New DataObject 
    oDataObject.GetFromClipboard 
    Selection = oDataObject.GetText 
End Sub 

Open in new window

0
 
LVL 24

Expert Comment

by:mankowitz
ID: 39964836
Try the following

Dim clipboard As MSForms.DataObject
Set clipboard = New MSForms.DataObject
clipboard.SetText "PASSWORD"
clipboard.PutInClipboard
0
 

Author Comment

by:shaunwingin
ID: 39964870
I don't see the reference listed for:
'Microsoft Forms 2.0 Object Library"
Using Excel 2013
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 

Author Comment

by:shaunwingin
ID: 39964881
say I found it by searching for file mf20.dll
However the code doesn't work...
mankowitz
0
 
LVL 24

Assisted Solution

by:mankowitz
mankowitz earned 166 total points
ID: 39964931
The following worked for me

Private Sub button1_click()
With New MSForms.DataObject
    .SetText "password"
    .PutInClipboard
End With
End Sub

you have to make sure that msforms object is loaded. You can either add the reference as you did, or just add a userforms object to the page. You can always delete it. For example, from the Developer tab, click
Insert > more > select something like WINDOWS FORMS 2.0 TEXTBOX
0
 
LVL 27

Accepted Solution

by:
MacroShadow earned 334 total points
ID: 39964989
Not sure why it's not working for you, works fine for me.

Perhaps Chip Pearson's article will help http://www.cpearson.com/excel/Clipboard.aspx
0
 

Author Comment

by:shaunwingin
ID: 39965015
seems I needed to change to clipboard1 as clipboard was reserved??
I also dimmed the text as a string but doubt this is needed.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Approximate matching with VLOOKUP and MATCH seems to me to be a greatly under-used technique, and one which is vital for getting good performance out of large lookups. Until recently I would always have advised using an exact match for simplicity an…
This article descibes how to create a connection between Excel and SAP and how to move data from Excel to SAP or the other way around.
This Micro Tutorial demonstrate the bugs in Microsoft Excel for Mac with Pivot Charts.
This Micro Tutorial will demonstrate in Google Sheets how to use the HYPERLINK function to create live links inside your spreadsheet.

895 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now