无需使用剪贴板即可通过 Excel VBA 代码将数据从 Excel 传输到 Word

问题描述 投票:0回答:0

我有一个从 Excel 中提取数据并将其传输到 Word 文档的例程,位于当前“光标”位置。它工作正常,一步一步。但是,根据复制的数据量或循环中的后续处理,有时会显示错误,因为当到达'粘贴'命令时,剪贴板是空的,因为它没有完全复制...并且粘贴没有内容转移到 Word 文档。

我已经找到了令人难以置信的方法来“减慢”处理速度或在粘贴之前检查 Excel 剪贴板的“状态”并解决此错误......但我不想走那条曲折的道路......我在这个问题上的目的是找到一种方法来定义数据的目的地和数据的来源,而无需通过复制/粘贴过程......但是以另一种方式定义它,它根本不使用 Excel 的剪贴板时间。

但是,我知道从概念上讲这是可能的,而且我已经在 VBA Excel 例程中完成了它,没有任何问题……但是当涉及到 Word 的最终目的地时,我不知道该怎么做……而且我是不熟悉它的语法。

谁能指导我如何生成这样的代码,而不建议任何其他处理延迟机制?要复制的信息量很大......我需要在这个过程中敏捷......而不是更多的延迟。

提前感谢您愿意提供帮助。 🙏

@>-->---

Sub Export_Excel_to_Word()

Dim Word As Word.Application
Dim Doc As Word.Document
Dim wb As Workbook 
Dim IdxSheet As Worksheet 
Dim Interval As Range 'Temporary buffer to copy/paste

Application.ScreenUpdating = False

Set wb = ActiveWorkbook

'Open Word

Set Word = CreateObject("Word.Application")
Word.Visible = True
Set Doc = Word.Documents.Open("E:\00 MyDocs W10\Existent_Doc_Word.docx")

'Copying data from Excel

Set IdxSheet = wb.Sheets("Index")
IdxSheet.Activate
'IdxSheet.Select 

'Copying the Specific Range
Set Interval = Range("First_Table") 'Pre-defined and named
Interval.Copy

With Doc
    .Application.Selection.Paste 
    'blank line
    .Application.Selection.TypeParagraph
End With

.
.
.

End Sub
excel vba clipboard paste
© www.soinside.com 2019 - 2024. All rights reserved.