One possibility is to use JLink
Needs["JLink`"];
ReinstallJava[];
LoadJavaClass["java.awt.event.KeyEvent"];
robotclass = JavaNew["java.awt.Robot"];
key = (Function[k,robotclass[keyPress[Symbol["KeyEvent`VKU"<>k]]]] /@ {##};
Function[k,robotclass[keyRelease[Symbol["KeyEvent`VKU"<>k]]]] /@ {##}
)&;
(* e.g., select all Input cells in this notebook :*)
NotebookFind[InputNotebook[], "Input", All, CellStyle];
(* and press and reslase Ctrl C programmatically *)
key["CONTROL", "C"];
(* create a new document *)
CreateDocument[TextCell["Robot says hi ", "Text"]];
(* use the robotclass to hit the down arrow key, thus moving below the cell *)
key["DOWN"];key["DOWN"];
(* and now ececut Ctrl V by robot: *)
key["CONTROL", "V"];