View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
StargateFan StargateFan is offline
external usenet poster
 
Posts: 61
Default Copy a set bit of text to the clipboard?

On Wed, 05 Aug 2009 19:01:33 -0400, Chip Pearson
wrote:

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! :oD

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





On Wed, 5 Aug 2009 14:52:57 -0700 (PDT), StargateFanNotAtHome
wrote:

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! :oD