procedure PasteText(Text: String);
var
Handle: THandle;
StartPos, EndPos: Integer;
begin
Handle := IDE_GetEditorHandle;
// Replace selection
SendMessage(Handle, EM_REPLACESEL, 1, Integer(PChar(Text)));
// Select pasted text
SendMessage(Handle, EM_GETSEL, Integer(@StartPos), Integer(@EndPos));
SendMessage(Handle, EM_SETSEL, StartPos - Length(Text), StartPos);
end;