如何使用Excel VBA将文本复制到Word中

时间:2018-08-31 07:10:36

标签: excel-vba ms-word

如何在Excel中使用VBA将特定文本粘贴到特定位置和标题的单词中。到目前为止,我可以使用excel打开单词,而使用Excel VBA可以使单词变得很少。

  Sub Open_word()
    Dim wrdApp As Word.Application
    Dim wrdDoc As Word.Document
    Dim filepath As String

    Set wrdApp = CreateObject("Word.Application")
    wrdApp.Visible = True

    filepath = "https://sharepoint.lamrc.net/cft/edms/Documents/DDS2011.doc"
    Set wrdDoc = wrdApp.Documents.Open(filepath)
    '----------------------Downloads document----------------------


    ActiveDocument.Paragraphs(1).Range.Text = vbCrLf
    ActiveDocument.Paragraphs(1).Range.Text = vbCrLf
    ActiveDocument.Paragraphs(1).Range.Text = vbCrLf
    ActiveDocument.Paragraphs(1).Range.Text = vbCrLf

    wrdApp.ActiveDocument.Content.Delete



    '----------------------Deletes default content----------------------

    Dim strNewFolderName As String
    strNewFolderName = "New Folder " & (Day(Now())) & "_" & Month(Now()) & "_" & Year(Now)
    If Len(Dir("C:\Macro_test\" & strNewFolderName, vbDirectory)) = 0 Then
        MkDir ("C:\Macro_test\" & strNewFolderName)
    End If
    Dim PathName As String
    PathName = ("New Folder " & MonthName(Month(Now())) & " " & Year(Now))

    wrdApp.ActiveDocument.SaveAs "C:\macro_test\" & strNewFolderName & "\" & "test" + ".doc"

    '----------------------save as files----------------------


    Sheets("SCREW").Range("H1:J11").Copy
    wrdApp.Selection.Paste

    Application.CutCopyMode = False

    '------------- pastes the actual content--------------


    Set wrdApp = Nothing

    Set wrdDoc = Nothing

    MsgBox ("DONE")

    '----------------message box---------------

  End Sub'

我可以将内容复制到单词,但不能将其复制到特定位置。

请帮助。

1 个答案:

答案 0 :(得分:0)

很抱歉将其发布为答案:这是因为我没有足够的业力积分来发表评论。

如果您将一直使用相似的文档,那么我实际上将创建一个带有书签的模板。然后基于该模板创建一个文档。

这将为您提供正确格式的文档,然后您要做的只是输入一些代码,例如:

wrdDoc.Bookmarks("bmkScrewData").Range.Text = Sheets("SCREW").Range("H1:J11")

假设您有一个名为bmkScrewData的书签。仅基于模板打开一个文档,然后尝试将内容强制放入空白文档要容易得多。这样,您可以完全控制环境。

这也意味着您可以避免在新的Word文档中删除所有默认古宾琴。