2015-03-16 9 views
0
ID   Employee Date  
1234  me   11/03/2015 
9999  U   11/03/2015 
1111  Us   11/03/2015 

Привет,Экспорт данных Excel в шаблон слова

Я имею таблицу выше в Excel, заполняемый, когда пользователь завершает UserForm и нажимает кнопку «Спаси». После того, как они сохранены, кнопка «Экспорт» включена, и пользователь может экспортировать последнюю запись (строку), представленную пользовательской формой, в шаблон слова в соответствующих местах шаблона. Я создал закладки в прикрепленном шаблоне слов для ID, Employee и Date и хотел бы, чтобы данные были экспортированы в эти местоположения.

Я написал следующий код на кнопке «Экспорт», но я не могу заставить экспорт работать. код запускается до тех пор, пока шаблон не будет открыт, но публикация данных в закладках приведет к ошибке.

Sub PDFExportRow() 
    Dim WRD As Object, DOC As Object, ac As Long 
    On Error Resume Next 
    Set WRD = CreateObject("Word.Application") 
    If Err.Number <> 0 Then 
    Set WRD = CreateObject("Word.Application") 
    End If 
    On Error GoTo 0 

    Set DOC = WRD.Documents.Open("C:\RC_QA_TEST\Template\QA_REPORT.dotm") 


WRD.Visible = True 
ac = ActiveCell.Row 

With DOC 
.FormFields("ID").Result = Cells(ac, "A") 
.FormFields("Employee").Result = Cells(ac, "B") 
.FormFields("Date").Result = Cells(ac, "C") 

End With 

'set active printer to one you use here 
WRD.ActivePrinter = "CutePDF Writer" 
'print document 
DOC.PrintOut 
'close document without saving 
DOC.Close False 
'close application 
WRD.Quit 
Set WRD = Nothing 
Set DOC = Nothing 


End Sub 

Любая помощь на это очень ценится.

ответ

0

Если код имеет ошибки, начиная с части DOC.FormFields, то я думаю, проблема в том, что вы фактически не использовали поля формы, вы использовали закладки, поэтому вам нужно использовать соответствующие методы.

Попробуйте это:

With DOC 
.Bookmarks("ID").Range.Text = Cells(ac, "A") 
.Bookmarks("Employee").Range.Text = Cells(ac, "B") 
.Bookmarks("Date").Range.Text = Cells(ac, "C") 

End With 

Обратите внимание, что, как только вы обновите текст в закладках, закладка удаляется из документа. Поскольку вы закрываете документ, не сохраняя его, при повторном открытии закладка снова будет там, но вам нужно будет сбросить закладку, если вы хотите сохранить слово doc или оставить его открытым и попытаться заменить текст снова.

Смежные вопросы