#excel #vba #outlook
#excel #vba #outlook
Вопрос:
Я работаю над файлом, который позволяет пользователям выбирать регион (из выпадающего списка) и около 40 флажков, чтобы выбрать, хотят ли они, чтобы они были включены в список адресов электронной почты. После того, как выбор сделан, кнопка «Список рассылки», которая открывает пользовательскую форму с помощью одной кнопки «Копировать в буфер обмена». Когда пользователь открывает новое электронное письмо и нажимает ctrl v, он вставляет выбранные флажки в качестве адреса «Кому».
Private Sub CommandButton1_Click()
With New DataObject
.SetText Range("C4").Text ' Cell C4 has formula - CONCATENATE($G$11,$G$8,$G$17,$G$22,$G$26,$G$41,$G$56,$G$61,$G$70)
.PutInClipboard
End With
Unload userForm1
MsgBox "E-mail list copied successfully!"
End Sub
Макрос выполняется в моей системе. Это работает для некоторых людей, а для других, когда они нажимают ctrl v на адрес «Кому:», они ничего не получают.
Комментарии:
1. В последнее время я нахожу
DataObject
довольно ненадежным методом работы с буфером обмена. Windows API (при условии, что вам не нужно поддерживать Mac) является более надежным.2. Большое вам спасибо, @TimWilliams.