代码之家  ›  专栏  ›  技术社区  ›  Absinthe

如果包含范围的工作表未激活,则Excel到Word的错误范围被复制

  •  0
  • Absinthe  · 技术社区  · 7 年前

    Set wordRange = wordDoc.bookmarks("Table").Range
    wsService.Range("A1:B15").Copy
    wordRange.PasteSpecial Link:=False, DataType:=0, Placement:=0
    wordDoc.bookmarks.Add "Table", wordRange
    

    这工作如果表 wsService 在Excel中处于活动状态。如果没有 Range("A1:B15") 而是复制活动工作表上的。我尝试过其他数据类型(例如位图、图元文件、形状),它们都能正常工作。这是虫子吗?

    2 回复  |  直到 7 年前
        1
  •  0
  •   macropod    7 年前

    您的描述表明,您使用wsService所做的只是将其指向ActiveSheet。例如:

    set wsService = ActiveSheet
    

    set wsService = ThisWorkbook.Sheets("Sheet1")
    

    这样,工作表就不必是可见的,就可以从中复制任何内容。

    推荐文章