【问题标题】:PasteSpecial(): wdPasteOLEObject and wdInLine EnumerationsPasteSpecial():wdPasteOLEObject 和 wdInLine 枚举
【发布时间】:2018-01-18 17:28:40
【问题描述】:

我已经在 Excel VBA 中编写了代码,目前正尝试在 VS 2017 上将其转换为 vb.NET。

我想在 Excel 中复制一个表格,并将其粘贴到 Word 文档中,并在它们之间保持实时链接,以便 Excel 表格中的任何更改都将传输到粘贴在 Word 文档中的表格中。我在 Excel VBA 中管理了这个,但是 vb.NET 不识别 DataType:=wdPasteOLEObjectPlacement:=wdInLine,说它们没有被声明。

以下是我的代码示例:

excelApp = New Excel.Application
excelWB = excelApp.Workbooks.Open(SurveyFormLoc)
excelApp.Visible = True

With excelApp
    .Sheets("Site Details").Select 
    .Range("B2:I11").Copy()
End With

wdApp = CreateObject("Word.Application")
wdApp.Visible = True
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

wdApp.Selection.PasteSpecial(Link:=True, DataType:=wdPasteOLEObject, Placement:=wdInLine, DisplayAsIcon:=False)

有人知道 vb.NET 的等效项是什么吗?

【问题讨论】:

  • 您应该阅读How to Ask 并使用tour 以增强您获得的帮助。像一个好的标题和格式化你的代码看起来像代码一样重要,并且问一个好问题。

标签: vb.net vba excel enumeration


【解决方案1】:

wdPasteOLEObject 替换为数字0。

wdInLine也替换为数字0。

PasteDataType Enumeration

Placement Enumeration

如果你想保持可读性,你也可以自己定义Enumeration

Enum WdOLEPlacement 
  wdFloatOverText = 1
  wdInLine = 0 
End Enum

Enum WdPasteDataType 
  wdPasteBitmap = 4 
  wdPasteDeviceIndependentBitmap = 5    
  wdPasteEnhancedMetafile = 9   
  wdPasteHTML = 10  
  wdPasteHyperlink = 7  
  wdPasteMetafilePicture = 3    
  wdPasteOLEObject = 0  
  wdPasteRTF = 1    
  wdPasteShape = 8  
  wdPasteText = 2   
End Enum

在您的代码中,引用如下:

DataType:=WdPasteDataType.wdPasteOLEObject 
Placement:=WdOLEPlacement.wdInLine 

如果你再次遇到未定义的Enumerations,你可以去谷歌并粘贴你想要查找的东西并包含单词Enum,它通常会是第一个结果。

【讨论】:

  • 非常感谢,关于谷歌搜索枚举的建议也帮助我解决了更多问题。但是,现在当我运行代码时,当它尝试将复制的范围粘贴到 Word Doc 中时,我收到错误消息“此方法或属性不可用,因为剪贴板为空或无效。”。您知道为什么 .Copy() 似乎不起作用吗?谢谢
  • 如果剪贴板是空的,我会认为这是一个单独的问题。您可能想隔离问题并提出一个新问题。
猜你喜欢
  • 1970-01-01
  • 2012-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多