|
копирование с помощью vba
|
|||
---|---|---|---|
#18+
Здравствуйте. Подскажите, пожалуйста, как скопировать в буфер обмена значение поля в форме с помощью vba? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 12:25 |
|
копирование с помощью vba
|
|||
---|---|---|---|
#18+
Попробуйте RunCommand acCmdCopy А вообщев Аксе работа с буфером, это несколько системных API функций. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 12:48 |
|
копирование с помощью vba
|
|||
---|---|---|---|
#18+
Анатолий ( Киев ), Я ошибся. Скопировать в буфер обмена надо не значение поля, а значение переменной в процедуре vba. Dim fio As String fio = "клиент " & Me![Поле1] & ... и т.д. Что делать? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 13:10 |
|
копирование с помощью vba
|
|||
---|---|---|---|
#18+
Tauri, Значит, присвойте предварительно полю значение переменной. И копируйте в буфер значение поля. Тоже вариант.))) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 13:15 |
|
копирование с помощью vba
|
|||
---|---|---|---|
#18+
__Michelle, Я думал об этом: добавить скрытое поле в форму и присваивать ему значение переменной. 1 DoCmd.GoToControl "скрытое поле" - как? 2 DoCmd.RunCommand acCmdCopy ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 13:22 |
|
копирование с помощью vba
|
|||
---|---|---|---|
#18+
__Michelle, В процедуре DoCmd.GoToControl "..." DoCmd.RunCommand acCmdCopy Синтаксис DoCmd.GoToControl "..." возможен если поле не скрыто (т.е. вывод на экран=да). А у меня поле не выводится на экран. Поэтому надо искать способ копировать в буфер не значение поля, а значение самой переменной. Что делать? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 13:35 |
|
копирование с помощью vba
|
|||
---|---|---|---|
#18+
Tauri__Michelle, Что делать? Ссылка дана выше. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 13:42 |
|
копирование с помощью vba
|
|||
---|---|---|---|
#18+
AndrF, Т.е. эта процедура копирует значение переменной strTest в буфер обмена? Dim d As DataObject Public Sub PutInCb() Dim strTest As String strTest = "Test!" Set d = New DataObject d.SetText strTest d.PutInClipboard End Sub ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 13:44 |
|
копирование с помощью vba
|
|||
---|---|---|---|
#18+
Tauri, Ну, вот смотрите: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
Кошмар. Набираю все это с планшета. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 13:53 |
|
копирование с помощью vba
|
|||
---|---|---|---|
#18+
Tauri, Пример в предыдущем посте имел целью показать, что поле может иметь нулевые размеры, но при этом получать фокус и позволять копировать свое значение. То есть, можно разместить его скрытно, а мгновенные перемещения курсора (на поле с нулевыми размерами и возврат на ScreenPreviousControl) никто не заметит. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 14:15 |
|
копирование с помощью vba
|
|||
---|---|---|---|
#18+
TauriТ.е. эта процедура копирует значение переменной strTest в буфер обмена? Dim d As DataObject ... Для этого в референсах должна быть установлена ссылка на библиотеку, что не есть хорошо. В указанной ссылке приведен текст модуля. Создайте такой же и пользуйтесь. Правда я не знаю, как это будет работать под Win 64b. А почему вам нужен именно обмен через буфер? Где вы собираетесь использовать этот текст? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 14:25 |
|
копирование с помощью vba
|
|||
---|---|---|---|
#18+
Анатолий ( Киев ), Менеджер получает жалобу от клиента (форма с несколькими полями) и должна отправить её мастеру по e-mail. Для этого менеджер вручную копирует каждое поле формы и вставляет его в тело сообщения e-mail + в разные отчёты. Это неудобно. Нужна кнопка, чтобы формировала из полей единый текст и этот текст копировала в буфер для его дальнейшей отправки по e-mail и вставки в разные отчёты. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 16:24 |
|
копирование с помощью vba
|
|||
---|---|---|---|
#18+
Анатолий ( Киев ), Конечное сообщение выглядет так. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 16:25 |
|
копирование с помощью vba
|
|||
---|---|---|---|
#18+
Tauri, А чем Вам мой способ не понравился? Восемь (можно и шесть) коротких строк кода и все. Слишком просто?))) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 16:51 |
|
копирование с помощью vba
|
|||
---|---|---|---|
#18+
[quot Анатолий ( Киев )][quot Tauri]Т.е. эта процедура копирует значение переменной strTest в буфер обмена? В указанной ссылке приведен текст модуля. Создайте такой же и пользуйтесь. не получается использовать вариант Dim d As DataObject Public Sub PutInCb() Dim strTest As String strTest = "Test!" Set d = New DataObject d.SetText strTest d.PutInClipboard End Sub ругается на Dim d As DataObject и на Set d = New DataObject ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 16:51 |
|
копирование с помощью vba
|
|||
---|---|---|---|
#18+
__Michelle, Да, я думаю, что ваш способ буду использовать. Другие способы пока не получаются. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 16:53 |
|
копирование с помощью vba
|
|||
---|---|---|---|
#18+
Tauri, А почему сразу проигнорировали-то, мне просто интересно? Чем больше кода, тем лучше? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 16:59 |
|
копирование с помощью vba
|
|||
---|---|---|---|
#18+
[quot Анатолий ( Киев )] Для этого в референсах должна быть установлена ссылка на библиотеку, что не есть хорошо.[/q] Полминуты на поиск в интернете и код немного модифицирован: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Проверил - работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 17:01 |
|
копирование с помощью vba
|
|||
---|---|---|---|
#18+
Ну и именно мой вариант на основе вышеприведенного: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 17:11 |
|
копирование с помощью vba
|
|||
---|---|---|---|
#18+
Хотя выше можно еще выкинуть объявление лишней переменной... ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 17:13 |
|
копирование с помощью vba
|
|||
---|---|---|---|
#18+
__Michelle, Я не проигнорировал. Я сосредоточился на ранее предложенном мне варианте. И пытался понять, почему он у меня не получается (help смотрел и т.п.). А когда я полностью во всём запутался (я самоучка и многого не знаю), то я вернулся на форум и увидел Ваше письмо. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 17:40 |
|
копирование с помощью vba
|
|||
---|---|---|---|
#18+
Tauriя самоучкане, ну это слишком! ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 17:49 |
|
копирование с помощью vba
|
|||
---|---|---|---|
#18+
__Michelle, а fld - это переменная? её надо описывать dim fld as ? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 17:57 |
|
|
start [/forum/topic.php?fid=45&fpage=13&tid=1609940]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 166ms |
0 / 0 |