View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default Put in clipboard, but keep the current content

Userform1.Textbox1.Text = "[" & Format(Date, "dd/mm/yy") & "] "

Might be what you want.

or
If typeof Userform1.ActiveControl is MSForms.Textbox then
Userform1.Activecontrol.Text = "[" & Format(Date, "dd/mm/yy") & "] "
End if

--
Regards,
Tom Ogilvy

"Eric van Uden" <ericvanuden THISGOES @ OUT supermail.nl wrote in message
...
Hello group,

I have a userform to add or edit comments and progress reports regarding a
project my team is working on.
There is a button to insert the date (in square brackets) in the textbox
where the cursor happens to be. There are 3 textboxes.

I have this code that formats the date, puts it in the clipboard, and
pastes it into the textbox:

Dim Date1 As New DataObject
Date1 .SetText "[" & Format(Date, "dd/mm/yy") & "] "
Date1 .PutInClipboard
Application.SendKeys ("^v")

Howecer, by copying to the clipboard, I wipe whatever is there previously.
In some cases this is very inconvenient.

Is there a way to store the contents of the clipboard somewhere, perform
this action, and then put the previous contents back in the clipboard?
My attempts to put some GetFromClipboard and PutInClipboard lines in

series
were unsuccessful. Only the first action seems to get through. Or the

second
gets put into a second clipboard instance, which I don't know how to
address.
Is there a way to address a specific clipboard instance, so that after
pasting the date, i can still use Ctrl + V to paste whatever I copied
earlier into the form?
Or is there a way to reference the active textbox and enter the formatted
date directly at the top left, without going via the clipboard?

Any assistance would be appreciated.

Eric