Copy a set bit of text to the clipboard?

  • Thread starter StargateFanNotAtHome
  • Start date
S

StargateFanNotAtHome

I did a lot of research but haven't found exactly what I need. I
believe syntax is all correct below; so here is what I have so far:

Copying info in a cell:
------------------------
Sub Copy_to_Clipboard_CELL()
'
ActiveSheet.Range("A2").Select
Selection.Copy
End Sub


Copying a range:
---------------
Sub Copy_to_Clipboard_RANGE()
Range("A1:AI35").Select
Selection.Copy
End Sub


But what would be ideal is to just "send" some text to the clipboard,
specifically, the syntax for the hyperlink function. I have a sheet
which is all about tracking URLs and it would be really handy to just
click a button and have that go to the clipboard so it's available for
pasting ('course, a userform where I enter both sides of the info
needed [URL+NAME] for a hyperlink would be better, but I looked at
that earlier today and it's too advanced for me right now <g>). So
copying the syntax to clipboard really great alternative.

The syntax I'd like to send is this, pretty standard stuff:

=HYPERLINK(" URL ", " name ")

Thanks! :blush:D
 
S

StargateFanNotAtHome

Oh, this is great. I found something neat completely by accident. I
had copy-pasted the code of one URL into a new cell and then delete
both the URL and the name from between the quotation marks and the
text disappeared from view. Yet when I activated that cell, the code
was there. So all I have to do is to copy down the code throughout
the sheet and I'll be set.

However, after finding this issue with the clipboard, would still like
to know how to do the above, if I may ... my clipboard vb syntax is
not complete, I feel, without it.

Thank you! :blush:D
 
C

Chip Pearson

You can put any text you want on the clipboard, and retrieve text from
the clipboard, with code like:

Sub PutOnClipboard(Text As String)
Dim DataObj As New MSForms.DataObject
DataObj.SetText Text
DataObj.PutInClipboard
End Sub

Function GetFromClipboard() As String
Dim DataObj As New MSForms.DataObject
DataObj.GetFromClipboard
GetFromClipboard = DataObj.GetText
End Function

You'll need to set a Reference to the MSForm library. The easiest way
to do this is simply insert a UserForm into the project. That will set
up reference automatically.

You can then use the code above as shown below:

Dim S As String
PutOnClipboard "hello world"
S = GetFromClipboard()
Debug.Print S

See http://www.cpearson.com/Excel/clipboard.aspx for additional
information and example code for working with the clipboard.

Cordially,
Chip Pearson
Microsoft Most Valuable Professional
Excel Product Group
Pearson Software Consulting, LLC
www.cpearson.com
(email on web site)
 
S

StargateFan

You can put any text you want on the clipboard, and retrieve text from
the clipboard, with code like:

Sub PutOnClipboard(Text As String)
Dim DataObj As New MSForms.DataObject
DataObj.SetText Text
DataObj.PutInClipboard
End Sub

Function GetFromClipboard() As String
Dim DataObj As New MSForms.DataObject
DataObj.GetFromClipboard
GetFromClipboard = DataObj.GetText
End Function

You'll need to set a Reference to the MSForm library. The easiest way
to do this is simply insert a UserForm into the project. That will set
up reference automatically.

You can then use the code above as shown below:

Dim S As String
PutOnClipboard "hello world"
S = GetFromClipboard()
Debug.Print S

See http://www.cpearson.com/Excel/clipboard.aspx for additional
information and example code for working with the clipboard.

Thanks for this reference. I saw a few messages that mentioned some
of the above but it's nice to get it all spelled out since the
messages I read were written by people who seemd to know what they're
doing and not newbies.

<sigh> It seems rather complicated, so I'll have to study this. Once
I master it, I'm sure it'll be easy, it's just getting there <g>. But
this makes it a lot easier.

Thanks! :blush:D
Cordially,
Chip Pearson
Microsoft Most Valuable Professional
Excel Product Group
Pearson Software Consulting, LLC
www.cpearson.com
(email on web site)





I did a lot of research but haven't found exactly what I need. I
believe syntax is all correct below; so here is what I have so far:

Copying info in a cell:
------------------------
Sub Copy_to_Clipboard_CELL()
'
ActiveSheet.Range("A2").Select
Selection.Copy
End Sub


Copying a range:
---------------
Sub Copy_to_Clipboard_RANGE()
Range("A1:AI35").Select
Selection.Copy
End Sub


But what would be ideal is to just "send" some text to the clipboard,
specifically, the syntax for the hyperlink function. I have a sheet
which is all about tracking URLs and it would be really handy to just
click a button and have that go to the clipboard so it's available for
pasting ('course, a userform where I enter both sides of the info
needed [URL+NAME] for a hyperlink would be better, but I looked at
that earlier today and it's too advanced for me right now <g>). So
copying the syntax to clipboard really great alternative.

The syntax I'd like to send is this, pretty standard stuff:

=HYPERLINK(" URL ", " name ")

Thanks! :blush:D
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top