Я отображаю список, из которого пользователь может выбирать строки.Затем код читает из ячеек электронной таблицы, связанных с этим элементом списка, и устанавливает количество текстовых переменных.Затем они объединяются и сохраняются в массив.
Наконец, массив считывается и строки копируются в буфер обмена.
Однако, когда я пытаюсь использовать CTRL-v для вставкизначения в электронном письме / текстовом файле, текст не вводится (буфер обмена кажется пустым).
Ниже приведен существенный код ...
NB.Код, основанный на трехстрочном выборе из списка
Dim LinesOfData() As String
'Other code that doesn't have direct relevance.. builds the strings
Set MyData = New DataObject
MyData.Clear
Dim record As Variant
Dim Indentifier As String
j = 0
For Each record In LinesOfData
Indentifier = "FormatID" & CStr(j)
Debug.Print record
MyData.SetText record, Indentifier
MyData.PutInClipboard
MyData.GetFromClipboard
'
' Test code only
'
If j = 0 Then 'First pass, only 1 record to check
S = MyData.GetText("FormatID0")
Debug.Print S 'Shows correct value
ElseIf j = 1 Then '2nd pass, 2 records to check
S = MyData.GetText("FormatID0")
Debug.Print S 'Shows correct value
S = MyData.GetText("FormatID1")
Debug.Print S 'Shows correct value
ElseIf j = 2 Then
S = MyData.GetText("FormatID0")
Debug.Print S 'Shows correct value
S = MyData.GetText("FormatID1")
Debug.Print S 'Shows correct value
S = MyData.GetText("FormatID2")
Debug.Print S 'Shows correct value
End If
' If I go and try to paste in another appl'n at this point, nothing!
j = j + 1
Next record
' End code
Теперь не имеет значения, выходить ли я из конкретной пользовательской формы или из приложения, у меня все еще есть пустой буфер обмена (несмотря на то, что я могу прочитатьданные из буфера обмена в коде).