Есть задача - скопировать диапазон значений в Excel в буфер обмена и вставить специальной вставкой в один из шейпов Visio (например с ID = 80)
с выделением диапазона Excel нет проблем
Sub ex()
' выделение и копирование диапазона значений
Dim C1 As Object
Dim W1 As Excel.Workbook
Dim rect As Shape
Dim txt As String
Set C1 = CreateObject("Excel.Application")
Set W1 = C1.Workbooks.Open("b:\VBA\Макросы\test.xls")
Range("A1:B20").Select
Selection.Copy
W1.Close
Set W1 = Nothing
Set C1 = Nothing
End Sub
а вот со спецвставкой не получается, беда с синтаксисом
Sub shizio()
Dim pg As Page
Dim sel As Selection
Dim rect As Shape
Dim vsoCharacters1 As Visio.Characters
Set pg = ActiveDocument.Pages.Item(1)
Set vsoCharacters1 = Application.ActiveWindow.Page.Shapes.ItemFromID(80).Characters
ex
ActiveWindow.SelectedText = vsoCharacters1
vsoCharacters1.Paste
End Sub
получается только с vsoCharacters1.Paste. метод PasteSpecial не работает: vsoCharacters1.PasteSpecial, vsoCharacters1.PasteSpecial (7) и vsoCharacters1.visPasteOEMText
Люди добрые, подскажите как правильно сделать специальную вставку ?