Excel で Word レポートを自動的に生成するにはどうすればよいですか?

coldplay.xixi
リリース: 2020-06-11 15:23:03
オリジナル
18890 人が閲覧しました

Excel で Word レポートを自動的に生成するにはどうすればよいですか?

#Excel で Word レポートを自動的に生成するにはどうすればよいですか?

Excel で Word レポートを自動生成する方法:

1. 契約テンプレート ファイルを作成し、契約変数を特殊な変数に置き換えます。図は次のとおりです:

Excel で Word レポートを自動的に生成するにはどうすればよいですか?

2. 契約書の主要な内容データを EXCEL に追加すると、図は次のとおりです:

Excel で Word レポートを自動的に生成するにはどうすればよいですか?

3 . Excel で Active X ボタン コントロールを追加し、必要に応じてそのプロパティを変更します。

Excel で Word レポートを自動的に生成するにはどうすればよいですか?

4. VBA エディターを開き、プロジェクト参照を追加します。

具体的な操作プロセスは次のとおりです。以下に示すように、[ツール] - [参照] を選択し、ロード ファイル選択ボックスを開き、「Microsoft Word16.0 Object Library」プロジェクトを選択します。

Excel で Word レポートを自動的に生成するにはどうすればよいですか?#ここで、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 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!