将所选范围从Excel粘贴到Word文档

时间:2018-01-19 14:01:53

标签: excel vb.net vsto

我将在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

1 个答案:

答案 0 :(得分:4)

问题可能是excelWB.Save()重置了副本选择吗?用户界面也会发生同样的事情。