【问题标题】:How to paste a copied object to particular cell in Excel如何将复制的对象粘贴到 Excel 中的特定单元格
【发布时间】:2016-07-19 04:32:16
【问题描述】:

我已经编写了以下代码来从 Outlook 电子邮件中复制表格:

        Set objApp = GetObject(Class:="Outlook.Application")
        Set objDoc = objApp.ActiveInspector.WordEditor

        objDoc.Tables(1).Range.Copy

我知道我们可以使用以下行粘贴这个复制的 objDoc(它是一个对象):excWkSht.Paste 这是在 Excel 表中随机粘贴这个。

我正在尝试使用 excWkSht.Cell(1, 1).Range.Paste 将其粘贴到第一个单元格中,但它会引发错误

“运行时错误'438':对象不支持此属性或方法”

有人可以帮我解决这个错误吗?

【问题讨论】:

    标签: excel vba outlook


    【解决方案1】:

    https://msdn.microsoft.com/en-us/library/office/ff821951.aspx

    Worksheet.Paste 允许我们选择目标作为提供的范围。对于您的示例,您可以使用:

    excWkSht.Paste Destination:=excWkSht.Cells(1, 1)
    

    【讨论】:

    • 你不会相信我现在要说的话。我以前的工作方法停止工作,我的 Excel 表中没有粘贴任何内容。你的方法和我的方法现在都不行。
    • 我相信,我只是不确定为什么会这样。您是否修改了要复制的数据类型,或者您复制的方法?您也可以尝试通过“选择”进行复制。 Excel 是围绕其用户界面构建的,复制/粘贴通常在选定的范围内工作。这也可能是您过去所做的粘贴似乎将东西放在随机位置的原因 - 它可能只是在当前选择处粘贴。
    • 原因可能听起来很奇怪。但是在昨天记录我的机器之后,我尝试再次运行宏并且它工作(随机粘贴在一个位置)所以我删除了行,保存了 Excel 工作簿并关闭了它。我再次运行宏,现在它不会粘贴表格。我想我会在这个宏完美运行之前死去
    • 对不起,我下班了。我今天尝试了你的解决方案,它给了我同样的错误。
    • 是的,错别字会对你造成影响。抱歉,工作表没有“单元格”属性,正确的属性是“单元格”。查看原始帖子,您还使用了“单元格”而不是“单元格”,所以我可能从您的帖子中按了 Ctrl+C 并且完全错过了错字。非常抱歉!我编辑了我的答案,它现在肯定可以工作了。
    猜你喜欢
    • 2011-09-08
    • 2018-06-25
    • 2012-08-21
    • 1970-01-01
    • 1970-01-01
    • 2014-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多