如何复制数据从Excel中使用Word的Excel VBA
若要使用VBA将数据从Excel复制到Word文件,我们需要使用Excel VBA访问Word应用程序。在本教程中,我们将学习如何打开Word应用程序,添加文档以及将Excel中的数据复制粘贴到其中。
在本文中,我们将使用Early Binding方法创建word应用程序的对象,而不是使用Late绑定。您可以在这里详细阅读。
使用Excel VBA将Excel数据复制到Word文件的过程若要使用VBA将数据从excel复制到Word文件,我们当然首先需要打开Word应用程序。然后向其中添加文档(如果需要新文档)。从excel文件复制数据。选择文档上的段落并将其粘贴。最后保存并关闭文档。这些步骤中的每个步骤都可以通过Excel轻松完成。您将不需要与Word文档进行交互。
让我们从一个例子开始,而无需深入任何理论。因为钢铁侠说:“有时候,您必须跑步才能走路”。
示例:使用VBA将Excel数据粘贴到Word下面的代码是一个示例,该示例说明如何复制一定范围的excel并将其粘贴到新的word文档中并将其保存在驱动器上以供以后使用
'VBA Code To Write to Copy data from Excel to A Document Sub ExcelToWord() 'Using Early Binding Dim wordApp As Word.Application Dim mydoc As Word.Document 'Creating a new instance of word only if there no other instances Set wordApp = New Word.Application 'Making word App Visible wordApp.Visible = True 'Creating a new document Set mydoc = wordApp.Documents.Add() 'copying the content from excel sheet ThisWorkbook.Worksheets("sheet1").Range("A1:g20").Copy 'Pasting on the document mydoc.Paragraphs(1).Range.PasteExcelTable _ LinkedToExcel:=False, _ WordFormatting:=False, RTF:=False 'saving the document mydoc.SaveAs2 "MyDoc" 'closing the document mydoc.Close 'Emptying the Clipboard CutCopyMode = False End Sub
代码说明:
好了,我已经使用注释解释了代码本身的每个步骤,但是让我们对在此子句中使用的行有所了解。
_’创建的Word应用程序和文档类型变量Dim wordApp作为Word.ApplicationDim mydoc作为Word.Document_在这里,我们声明了两个必需类型的变量。之所以可以这样做,是因为我们已经将引用添加到了单词application。您可以通过转到菜单中的工具来执行此操作。查找引用选项,然后查找单词引用。
_’仅在没有其他实例的情况下创建单词的新实例 _Set wordApp = New Word.Application ‘制作单词App Visible wordApp.Visible = True _ _’创建新文档 _Set mydoc = wordApp.Documents.Add( )_在上面的第一行中,我们使用New关键字将wordApp变量与类型为Word.App的对象一起使用。这将打开Word应用程序。
在第二行中,我们使应用程序一词可见,以便我们可以使用它。
在下一行中,我们使用Word.Documents.Add()函数将新文档添加到word应用程序中。这存储在mydoc变量中。
‘从excel工作表中复制内容 _ThisWorkbook.Worksheets(“ sheet1”)。Range(“ A1:G20”)。Copy_在这里,我们只是从excel中复制范围。您必须已经做过。它存储在剪贴板上。
‘在文档上粘贴 mydoc.Paragraphs(1).Range.PasteExcelTable _LinkedToExcel:= False, WordFormatting:= False,__ RTF:= False_我们正在使用Mydoc的Paragraph.Range类的PasteExcelTable方法从中粘贴数据剪贴板。
‘保存文档 mydoc.SaveAs2“ MyDoc” _ _’关闭文档 mydoc.Close _’清空剪贴板 _CutCopyMode = False_我们正在保存名为MyDoc的文档。然后,我们使用“关闭”功能关闭文档。最后,我们释放剪贴板以供其他人使用。
好的,这是您可以使用VBA创建新的Word文档并将Excel数据复制到该文档的方法。我没有详细介绍,因为这会使这篇文章精疲力竭。这仅仅是为了学习如何通过Excel粘贴到Word文档。希望它能帮助您了解流程。如果您对本文有任何疑问,可以通过下面的评论部分与我联系。
相关文章:
Excel VBA UserForms入门 | *我将解释如何在excel中创建表单,如何使用VBA工具箱,如何处理用户输入,最后如何存储用户输入。我们将使用一个示例和逐步指南来逐步介绍这些主题。
`link:/ general-topics-in-vba-vba-variables-in-excel [Excel中的VBA变量] || * VBA代表Visual Basic for Applications。
它是Microsoft的一种编程语言。它与Microsoft Office应用程序(例如MSExcel,MS-Word和MS-Access)一起使用,而VBA变量是特定的关键字。
Excel VBA变量范围 | *在所有编程语言中,我们都有变量访问说明符,用于定义可从何处访问已定义变量。 Excel VBA也不例外。 VBA也具有范围说明符。
ByRef和ByVal参数当参数作为ByRef参数传递给其他子函数时,将发送实际变量的引用。对变量副本所做的任何更改都将反映在原始参数中。
在Microsoft Excel中使用VBA删除没有确认提示的工作表由于要使用VBA删除工作表,因此您知道自己在做什么。
您想告诉Excel不要显示此警告并删除该死的表。
在Microsoft Excel 2016中使用VBA添加和保存新工作簿] |在此代码中,我们首先创建了对工作簿对象的引用。然后,我们使用一个新的工作簿对象对其进行了初始化。这种方法的好处是您可以轻松地对此新工作簿进行操作。像保存,关闭,删除等一样,链接:/ menus-toolbars-status-bar-in-vba-在Microsoft Excel中使用vba-显示状态栏上的消息Excel VBA状态栏*]| excel中的状态栏可用作代码监视器。当您的VBA代码很长并且您使用VBA执行多项任务时,通常会禁用屏幕更新,以免看到屏幕闪烁。
`link:/ general-topics-in-vba-off-warning-messages-using-vba-in-microsoft-excel [在Microsoft Excel 2016中使用VBA关闭警告消息] | **此代码不仅禁用VBA警报,但也增加了代码的时间效率。让我们看看如何。
热门文章:
50 Excel快捷方式以提高生产率更快地完成任务。这50个快捷键将使您在Excel上的工作速度更快。
Excel中的VLOOKUP函数在Excel 2016中为COUNTIF使用此惊人的功能对条件进行计数。您无需过滤数据即可计算特定值。
Countif功能对于准备仪表板至关重要。
如何在Excel中使用SUMIF函数这是仪表板的另一个重要功能。这可以帮助您汇总特定条件下的值。