我将在Excel VBA中编写的代码转换为VS 2017上的vb.NET。当我运行代码时,我收到错误
此方法或属性不可用,因为剪贴板是 空的或无效的。
当应用程序运行时,当它尝试将所选范围从Excel粘贴到Word文档时,会出现此消息。我保持工作表在代码运行时可见,并且可以看到它选择了正确的范围但实际上并没有复制它。
在vb.NET中复制一系列单元格的正确方法是什么?
以下是我的代码中发生错误的部分:
excelApp = New Excel.Application
excelWB = excelApp.Workbooks.Open(SurveyFormLoc)
excelApp.Visible = True
With excelApp
.Sheets("Site Details").Select
.Range("B2:I11").Copy()
End With
excelWB.Save()
wdApp = CreateObject("Word.Application")
wdApp.Visible = False
wdDoc = wdApp.Documents.Open(DesignReportLoc)
With wdDoc
.Application.Selection.Find.Text = "INSERT FROM SURVEY FORM"
.Application.Selection.Find.Execute()
.Application.Selection.ParagraphFormat.Alignment = 0
End With
With wdApp
.Selection.PasteSpecial(Link:=True, DataType:=0, Placement:=0, DisplayAsIcon:=False) 'Asked question to get this
.Selection.TypeParagraph()
End With
答案 0 :(得分:4)
问题可能是excelWB.Save()
重置了副本选择吗?用户界面也会发生同样的事情。