excel怎麼會自動產生word報表?
excel自動產生word報告的方法:
1、製作合約範本文件,把合約變數部分用特殊變數取代。圖示如下:
2、在EXCEL裡面加入合約主要內容數據,圖示如下:
##3 、在EXCEL裡面加入一個Active X按鈕控件,根據自身需求修改其屬性。 4、開啟VBA編輯器,新增項目參考。 特定操作過程為:選擇“工具”—“引用”,然後開啟載入檔案選擇框,選擇“Microsoft Word16.0 Object Library”這個項目,如下圖: 在此,特別需要說明,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" '如果文件已存在,则删除已有文件 If Dir(strFileName) <> "" Then Kill strFileName '打开模板文件 Set objApp = CreateObject("Word.Application") objApp.Visible = True Set objDoc = objApp.Documents.Open(strTemplates, , False) '开始替换模板预置变量文本 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 '将写入数据的模板另存为文档文件 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怎麼自動產生word報告?的詳細內容。更多資訊請關注PHP中文網其他相關文章!