Visual Basic Copy Clipboard Paste as KeyStokes

S

staciedaisy

I am getting an error message
error: object required: 'clipboard'
code: 800a01a8

i am trying to paste the clipboard as key stokes, and not just pasting data.
this is my first script, and i learned this yesterday, so please be nice as
i am a very newbie!!!


Set WshShell = WScript.CreateObject("WScript.Shell")
For a = 1 To 1
WshShell.AppActivate "MICROSOFT EXCEL"
WScript.Sleep 300
WshShell.SendKeys "{F2}"
WScript.Sleep 300
WshShell.SendKeys "{END}"
WScript.Sleep 300
WshShell.SendKeys "+{Home}"
WScript.Sleep 300
WshShell.SendKeys "^(c)"
WScript.Sleep 400
WshShell.AppActivate "MICRO KEY"
WScript.Sleep 1000
WshShell.SendKeys "{F2}"
WScript.Sleep 2000
WshShell.SendKeys "^(v)"
WScript.Sleep 4000
WshShell.SendKeys "~"
WScript.Sleep 1000
WshShell.SendKeys "%(Q)"
WScript.Sleep 300
WshShell.SendKeys "(R)"
WScript.Sleep 300
WshShell.SendKeys "(U)"
WScript.Sleep 4000
WshShell.SendKeys "^{INSERT}"
WScript.Sleep 300
WshShell.SendKeys "+{TAB}"
WScript.Sleep 300
WshShell.SendKeys "+{TAB}"
WScript.Sleep 300
WshShell.SendKeys "+{TAB}"
WScript.Sleep 1000
WshShell.AppActivate "MICROSOFT EXCEL"
WScript.Sleep 1000
WshShell.SendKeys "{TAB}"
WScript.Sleep 300
WshShell.SendKeys "{F2}"
WScript.Sleep 300
WshShell.SendKeys "{END}"
WScript.Sleep 300
WshShell.SendKeys "+{Home}"
WScript.Sleep 300
WshShell.SendKeys "^(c)"
WScript.Sleep 400
WshShell.AppActivate "MICRO KEY"
WScript.Sleep 400
Clipboard.SetText
WshShell.SendKeys.Send("^{v}")
Next
WScript.Quit

thanks in return!!!!!!!!!!!!!!!!
 
S

Susan

myRange = Worksheets("Sheet1").Range("A1:B1")
myOtherRange = Worksheets("Sheet1").Range("A3:B3")

myRange.Copy
myOtherRange.Paste

hope this helps........ i have no idea what you're doing with the
other code........ :)
susan
 
S

staciedaisy

here is a better explanation of what i'm needing!

i am trying to copy from excel and paste the clipboard as key stokes (like a
macro), and not just pasting data.
this is my first script, and i learned this 2 days ago, so please be nice as
i am a very newbie!!!


Set WshShell = WScript.CreateObject("WScript.Shell")
For a = 1 To 1
WshShell.AppActivate "MICROSOFT EXCEL"
WScript.Sleep 300
WshShell.SendKeys "{F2}"
WScript.Sleep 300
WshShell.SendKeys "{END}"
WScript.Sleep 300
WshShell.SendKeys "+{Home}"
WScript.Sleep 300
WshShell.SendKeys "^(c)"
WScript.Sleep 400
WshShell.AppActivate "MICRO KEY"
WScript.Sleep 1000
WshShell.SendKeys "{F2}"
WScript.Sleep 2000
WshShell.SendKeys "^(v)"
WScript.Sleep 4000
WshShell.SendKeys "~"
WScript.Sleep 1000
WshShell.SendKeys "%(Q)"
WScript.Sleep 300
WshShell.SendKeys "(R)"
WScript.Sleep 300
WshShell.SendKeys "(U)"
WScript.Sleep 4000
WshShell.SendKeys "^{INSERT}"
WScript.Sleep 300
WshShell.SendKeys "+{TAB}"
WScript.Sleep 300
WshShell.SendKeys "+{TAB}"
WScript.Sleep 300
WshShell.SendKeys "+{TAB}"
WScript.Sleep 1000
WshShell.AppActivate "MICROSOFT EXCEL"
WScript.Sleep 1000
WshShell.SendKeys "{TAB}"
WScript.Sleep 300
WshShell.SendKeys "{F2}"
WScript.Sleep 300
WshShell.SendKeys "{END}"
WScript.Sleep 300
WshShell.SendKeys "+{Home}"
WScript.Sleep 300
WshShell.SendKeys "^(c)"
WScript.Sleep 400
WshShell.AppActivate "MICRO KEY"
WScript.Sleep 400
Next
WScript.Quit

so after
WshShell.AppActivate "MICRO KEY"
WScript.Sleep 400
i am needing to know how to paste the contents of the clipboard as
keystrokes as if someone was actually typing the contents of the clipboard
out.

i am needing this done like this because the other application it is pasting
into has drop down boxes which you can type into to select but not paste!

any input would be greatly appreciated!!!!

thanks soo much!

thanks in return!!!!!!!!!!!!!!!!
 
S

Susan

Option Explicit

Sub do_paste()

Dim myRange As Range
Dim myOtherRange As Range

Set myRange = Worksheets("Sheet1").Range("A1:B1")
Set myOtherRange = Worksheets("Sheet2").Range("A3:B3")

myRange.Copy
myOtherRange.PasteSpecial xlPasteAll

Application.CutCopyMode = False

End Sub

this is the whole code. i have trouble getting "paste" to work so
find .PasteSpecial xlPasteAll does the same thing.
:)
susan
 

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