Solved

Excel - copy string to clipboard

Posted on 2014-03-30
7
2,203 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
Online Training Solution

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action. Forget about retraining and skyrocket knowledge retention rates.

 

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

[Webinar] Learn How Hackers Steal Your Credentials

Do You Know How Hackers Steal Your Credentials? Join us and Skyport Systems to learn how hackers steal your credentials and why Active Directory must be secure to stop them. Thursday, July 13, 2017 10:00 A.M. PDT

Question has a verified solution.

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

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.
You need to know the location of the Office templates folder, so that when you create new templates, they are saved to that location, and thus are available for selection when creating new documents.  The steps to find the Templates folder path are …
This Micro Tutorial will demonstrate how to create pivot charts out of a data set. I also added a drop-down menu which allows to choose from different categories in the data set and the chart will automatically update.
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

690 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