微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我如何在不安装MS Word的情况下使用现有的dotx模板文件以编程方式更新现有的docx?

如何解决我如何在不安装MS Word的情况下使用现有的dotx模板文件以编程方式更新现有的docx?

我在尝试使用现有的dotx模板文件(仅包含徽标,字体颜色和字体大小等)来更新现有docx文件(已包含内容)时遇到了一些麻烦。我设法创建了一个使用MS Word Com对象的powershell脚本可以完成此操作,但不幸的是,如果未安装MS Word,则该脚本将无法工作。

Powershell脚本:

    $word=New-Object -ComObject Word.Application
    $word2=New-Object -ComObject Word.Application
    $word.Visible=$false
    $word2.Visible=$false
    
    $path="C:\test_stuff\"
    $input_file = "C:\test_stuff\features.docx"
    $output_file = "C:\test_stuff\test_file.docx"
    
    try {
        $wordopen=$word.Documents.Open($input_file)
        $newdoc = Join-Path -Path $path -childpath "my_template.dotx"
        # Create new docx from template
        $wordopen2=$word2.Documents.Add($newdoc)
        #copy data from opened docx
        $range = $wordopen.Range()
        $copy = $range.copy()
        # paste data to newly created docx
        $range2 = $wordopen2.Range()
        $range2.Paste($copy)
        # Save
        $wordopen2.SaveAs($output_file,[Microsoft.Office.Interop.Word.WdSaveFormat]::wdFormatDocumentDefault)
        $wordopen2.Close()
        $wordopen.Close()
    }
    catch { "An error occurred." }

有没有一种方法可以在Powershell或Python中完成而无需安装MS Word?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。