북마크가 포함 된 워드 파일 "템플릿"(원하는 레이아웃의 단어 문서)에 정보를 붙여 넣으려고하는 Excel 워크 시트가 있습니다. 내가 뭘하고 싶은 것입니다 :복사하여 붙여 넣기 INCLUDING 북마크 VBA
- 는 페이지를 삽입, 페이지 하단에 내 시트에
- 이동을 데이터로 책갈피를 교체 (북마크 포함) 워드 문서
- 복사 모든 휴식 및 복사 된 텍스트를 붙여 포인트를 통해 북마크
- 루프를 포함하여 내가 함께 몇 가지 코드를 패치 한
내 엑셀의 모든 행에 대한 2 & 3 파일,하지만 난 책을 얻을 수 없습니다 해요 책갈피를 그대로 붙여 텍스트를 붙여 넣으십시오. 여러분 중 누구라도 저를 도울 수 있습니까?
Sub ReplaceBookmarks
'Select template
PickFolder = "C:\Users\Folder"
Set fdn = Application.FileDialog(msoFileDialogFilePicker)
With fdn
.AllowMultiSelect = False
.Title = "Please select the file containing the Template"
.Filters.Clear
.InitialFileName = PickFolder
If .Show = True Then
Temp = fdn.SelectedItems(1)
End If
End With
'open the word document
Set wdApp = CreateObject("Word.Application")
Set wdDoc = wdApp.Documents.Open(Temp)
'show the word document - put outside of loop for speed later
wdApp.Visible = True
'Copy everything in word document
wdDoc.Application.Selection.Wholestory
wdDoc.Application.Selection.Copy
LastRow2 = 110 ' In real code this is counted on the sheet
For i = 2 To LastRow2
'Data that will replace bookmarks in ws2 (defined somewhere in real code)
Rf1 = ws2.Cells(i, 4).Value
Rf2 = ws2.Cells(i, 2).Value
Rf3 = ws2.Cells(i, 3).Value
'replace the bookmarks with the variables - references sub "Fillbookmark"
FillBookmark wdDoc, Rf1, "Rf1"
FillBookmark wdDoc, Rf2, "Rf2"
FillBookmark wdDoc, Rf3, "Rf3"
' Jump to bottom of document, add page break and paste
With wdDoc
.Application.Selection.EndKey Unit:=wdStory
.Application.Selection.InsertBreak Type:=wdPageBreak
.Application.Selection.PasteAndFormat (wdFormatOriginalFormatting)
End With
Next i
End Sub
Sub FillBookmark(ByRef wdDoc As Object, _
ByVal vValue As Variant, _
ByVal sBmName As String, _
Optional sFormat As String)
Dim wdRng As Object
'store the bookmarks range
Set wdRng = wdDoc.Bookmarks(sBmName).Range
'if the optional format wasn’t supplied
If Len(sFormat) = 0 Then
'replace the bookmark text
wdRng.Text = vValue
Else
'replace the bookmark text with formatted text
wdRng.Text = Format(vValue, sFormat)
End If
End Sub
이것은 매우 통찰력이있었습니다, 감사합니다 !!! 모든 것을 복사 한 후에 책갈피를 삭제하기 시작했습니다. 북마크 작업을 처음 수행 한 것이므로 정보를 통해 많은 작업을 절약 할 수있었습니다. 너는 보스 야. @Maarten van Stam –