vba - 如何在没有对话框的情况下以 2 种不同的格式自动保存
问题描述
我在 c:\sample 文件夹中有一个巨大的文档 (.doc)。我想在更改字体后将它们保存在 .docx、.pdf、.txt 到 c:\sample_converted 文件夹中。
我有 VBA 脚本来更改字体,它工作正常..但是卡在以不同格式保存它们以及没有保存对话框
我想在没有用户干预的情况下完全进行这种转换。如果不可能,至少可以为源和目标文件夹请求一次用户。
strName = Left(oDoc.FullName, InStrRev(oDoc.FullName, ".") - 1) & ".txt"
oDoc.Range.Font.Name = strFont
oDoc.Save
oDoc.SaveAs2 FileName:=strName, FileFormat:=wdFormatUnicodeText
strName = Left(oDoc.FullName, InStrRev(oDoc.FullName, ".") - 1) & ".docx"
oDoc.Save
oDoc.SaveAs2 FileName:=strName, FileFormat:=wdFormatXMLDocument
oDoc.Close SaveChanges:=wdDoNotSaveChanges
WordBasic.DisableAutoMacros 0
请告知如何执行此操作。
谢谢。
解决方案
SaveAs2 不适用于 Word 2007。对于 2007 和以前的更改行
oDoc.SaveAs2 文件名:=strName,文件格式:=wdFormatUnicodeText,编码:=65001
至
oDoc.SaveAs 文件名:=strName,文件格式:=wdFormatUnicodeText,编码:=65001
<=2007 是另存为,>2007 是另存为 2
现在它运作良好。
推荐阅读
- c - 编写驱动程序 - “注册设备类失败”
- c++ - 错误:异常:抛出未处理的异常:读取访问冲突。温度为 0xDDDDDDDD
- cassandra - Cassandra 使用 Ansible
- javascript - 如何防止Angular1.0选择(下拉)额外的空白?
- mysql - MySQL 表 JOIN - 无法正常工作
- android - 通知内容标题和内容文本未显示
- c - C-Linux-创建线程并传入缓冲区
- css - Bootstrap 4 响应式输入,搜索按钮未与小媒体对齐
- angular - Angular 4:ng serve 运行良好,但 ng build --prod 失败
- asp.net - 添加服务器推送以替换对 asp.net WebAPI REST 服务的轮询