Как скопировать текст в слово с помощью Excel VBA - PullRequest
0 голосов
/ 31 августа 2018

Как вставить определенный текст в слово в определенном месте и заголовке, а также с помощью VBA в Excel. На данный момент я могу открыть слово с помощью 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 голосов
/ 31 августа 2018

Извините, что опубликовал это как ответ: это потому, что у меня недостаточно очков кармы, чтобы сделать этот комментарий.

Если вы собираетесь использовать один и тот же документ все время, я бы на самом деле создал шаблон с закладками. Затем создал бы документ на основе этого шаблона.

Затем вы получите документ в правильном формате, и все, что вам нужно сделать, это вставить какой-нибудь код, такой как:

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

Предполагая, что у вас есть закладка с именем bmkScrewData. Это намного проще, просто открыть документ на основе шаблона, а затем попытаться поместить материал в пустой документ. Таким образом, вы можете полностью контролировать свою среду.

Это также означает, что вы можете избежать всех удаленных по умолчанию шаблонов в новом документе Word.

...