>  기사  >  주제  >  Excel에서 단어 보고서를 자동으로 생성하는 방법은 무엇입니까?

Excel에서 단어 보고서를 자동으로 생성하는 방법은 무엇입니까?

coldplay.xixi
coldplay.xixi원래의
2020-06-11 15:23:0318982검색

Excel에서 단어 보고서를 자동으로 생성하는 방법은 무엇입니까?

Excel에서 단어 보고서를 자동으로 생성하는 방법은 무엇입니까?

Excel에서 단어 보고서를 자동으로 생성하는 방법:

1. 계약 템플릿 파일을 만들고 계약 변수를 특수 변수로 바꿉니다. 다이어그램은 다음과 같습니다.

Excel에서 단어 보고서를 자동으로 생성하는 방법은 무엇입니까?

2. EXCEL에 계약의 주요 콘텐츠 데이터를 추가합니다. 다이어그램은 다음과 같습니다.

Excel에서 단어 보고서를 자동으로 생성하는 방법은 무엇입니까?

3. EXCEL에 Active X 버튼 컨트롤을 추가하고 해당 속성을 수정합니다. 자신의 필요에 따라.

Excel에서 단어 보고서를 자동으로 생성하는 방법은 무엇입니까?

4. VBA 편집기를 열고 프로젝트 참조를 추가합니다.

구체적인 작업 프로세스는 다음과 같습니다. "도구" - "참조"를 선택한 다음 로드 파일 선택 상자를 열고 아래와 같이 "Microsoft Word16.0 개체 라이브러리" 프로젝트를 선택합니다.

Excel에서 단어 보고서를 자동으로 생성하는 방법은 무엇입니까?

여기에 특별 설명이 있습니다. 필요하면 Word 프로젝트를 참조해야 합니다. 그렇지 않으면 VBA는 나중에 변수 대체를 수행할 때 Word 대체 함수를 호출할 수 없습니다.

5. 버튼 컨트롤 아래에 다음 코드를 작성하고 EXCEL 파일을 XLSM으로 저장합니다.

 Private Sub cmd_makedoc_Click()On Error GoTo Err_cmdExportToWord_Click
    Dim objApp As Object 'Word.Application    Dim objDoc As Object 'Word.Document    Dim strTemplates As String '模板文件路径名    Dim strFileName As String '将数据导出到此文件    Dim i As Integer
    Dim contact_NO As String
    Dim side_A As String
    Dim side_B As String
    i = ActiveCell.Row
    contact_NO = Cells(i, 1)
    side_A = Cells(i, 2)
    side_B = Cells(i, 3)
 
    With Application.FileDialog(msoFileDialogFilePicker)
         .Filters.Add "word文件", "*.doc*", 1
         .AllowMultiSelect = False
         If .Show Then strTemplates = .SelectedItems(1) Else Exit Sub
    End With
  '通过文件对话框生成另存为文件名    With Application.FileDialog(msoFileDialogSaveAs)
        '.InitialFileName = CurrentProject.Path & "\" & contact_NO & ".doc"        .InitialFileName = contact_NO & ".doc"
        If .Show Then strFileName = .SelectedItems(1) Else Exit Sub
    End With
    '文件名必须包括“.doc”的文件扩展名,如没有则自动加上    If Not strFileName Like "*.doc" Then strFileName = strFileName & ".doc"
    &#39;如果文件已存在,则删除已有文件    If Dir(strFileName) <> "" Then Kill strFileName
    &#39;打开模板文件    Set objApp = CreateObject("Word.Application")
    objApp.Visible = True
    Set objDoc = objApp.Documents.Open(strTemplates, , False)
 
  &#39;开始替换模板预置变量文本   With objApp.Application.Selection
        .Find.ClearFormatting
        .Find.Replacement.ClearFormatting
        With .Find
             .Text = "{$合同编号}"
             .Replacement.Text = contact_NO
        End With
        .Find.Execute Replace:=wdReplaceAll
 
        With .Find
             .Text = "{$甲方}"
             .Replacement.Text = side_A
        End With
        .Find.Execute Replace:=wdReplaceAll
 
       With .Find
            .Text = "{$乙方}"
            .Replacement.Text = side_B
       End With
       .Find.Execute Replace:=wdReplaceAll
    End With
 
    &#39;将写入数据的模板另存为文档文件    objDoc.SaveAs strFileName
    objDoc.Saved = True            
    MsgBox "合同文本生成完毕!", vbYes + vbExclamationExit_cmdExportToWord_Click:
    If Not objDoc Is Nothing Then objApp.Visible = True
    Set objApp = Nothing
    Set objDoc = Nothing
    Set objTable = Nothing
    Exit SubErr_cmdExportToWord_Click:
    MsgBox Err.Description, vbCritical, "出错"
    Resume Exit_cmdExportToWord_ClickEnd Sub

추천 튜토리얼: "excel"

위 내용은 Excel에서 단어 보고서를 자동으로 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.