Буфер обмена

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
Lamer_61
Сообщения: 3
Зарегистрирован: 13 авг 2009, 12:43

Доброго времени суток!
Подскажите, как в Accesse средствами VBA информацию из конкретного поля таблицы (запроса) Запись.Fields("Имя_проекта") поместить в буфер обмена MS Office (предполагается вставка информации из буфера нажатием Ctrl V)
Teslenko_EA
Сообщения: 526
Зарегистрирован: 04 фев 2007, 18:37
Откуда: Сургут
Контактная информация:

Здравствуйте Lamer_61.
если речь о поле формы, поместить его содержимое в буфер обмена

Код: Выделить всё

    Поле0.SetFocus
    SendKeys "{HOME}+{END}"
    DoCmd.RunCommand acCmdCopy
Евгений.
Lamer_61
Сообщения: 3
Зарегистрирован: 13 авг 2009, 12:43

Teslenko_EA писал(а):Здравствуйте Lamer_61.
если речь о поле формы, поместить его содержимое в буфер обмена

Код: Выделить всё

    Поле0.SetFocus
    SendKeys "{HOME}+{END}"
    DoCmd.RunCommand acCmdCopy
Евгений.
Спасибо за ответ. Речь идет о поле таблицы (запроса). Я нашел нужную мне запись - у этой записи значение определенного столбца надо отправить в буфер
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
:) Доброго времени суток, Евгений! Еще раз благодарю Вас за ответ! Решил информащию из таблицы продублировать в новом поле формы и из него отправить в буфер. Задача решена - проверил - работает. теперь вопрос (для понимания):

Поле0.SetFocus ' Поле0 получает фокус - понятно

SendKeys "{HOME}+{END}" ' что происходит по этой команде?

DoCmd.RunCommand acCmdCopy что ИМЕННО копируется в буфер обмена

Буду очень благодарен за пояснения
Teslenko_EA
Сообщения: 526
Зарегистрирован: 04 фев 2007, 18:37
Откуда: Сургут
Контактная информация:

Здравствуйте Lamer_61.
SetFocus ' Поле0 получает фокус - понятно
SendKeys "{HOME}+{END}" ' комманда SendKeys - эмулирует нажатие одной или нескольких клавиш на клавиатуре (справка VBA),"{HOME}+{END}" - выделение всего содержимого активного контрола (в нашем случае Поле0)
DoCmd.RunCommand acCmdCopy ' DoCmd - метод запуска команды MS Access, RunCommand - запуск встроенной команды MS Access, acCmdCopy - константа команды копирования (копирует активное выделение) (справка VBA MS Access)
Евгений.
P.S. для дополнения к вопросу создавайте отдельный пост, он будет иметь статус - Непрочитанный и обратит на себя вниманее ;)
Ответить