vbscript - 如何使用 VB 脚本保存 Word 文档?
问题描述
我需要定期从一组 Word 文档中删除所有自定义属性。
我可以使用 VB 脚本打开一个 Word 文档并浏览自定义属性并删除它们。但是,以某种方式保存文档不起作用。这是我正在使用的代码:
'RemoveCustomProperties.vbs
Option Explicit
dim objWord
dim WordDoc
dim CProp
dim StdOut 'Just for debugging output
set StdOut = CreateObject("Scripting.FileSystemObject").GetStandardStream(1)
Set objWord = WScript.CreateObject("Word.Application")
objWord.Documents.Open WScript.Arguments.Item(0)
objWord.Visible = true
for each WordDoc in objWord.Documents
stdout.writeline "Before:"
'go through all custom properties, list them and delete them
for each CProp in WordDoc.CustomDocumentProperties
stdout.writeline cprop.name & "=" & cprop.value
CProp.delete
next
stdout.writeline "Afterwards:"
'go through all custom properties again, none are there as expected
for each CProp in WordDoc.CustomDocumentProperties
stdout.writeline cprop.name & "=" & cprop.value
next
next
objWord.Documents.Save
objWord.Quit
set StdOut = Nothing
Set objWord = Nothing
我使用以下简单语法从 Windows CMD 调用它:
cscript <path-to-vbs>\RemoveCustomProperties.vbs <WordFile>.docm
Word 文档包含一个名为 MYPROP 的自定义属性,值为“Mist”。
word文件弹出并再次关闭。在 CMD 窗口中,您可以阅读:
Microsoft (R) Windows Script Host, Version 5.812 Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.
Before:
MYPROP=Mist
Afterwards:
当我在同一个文件上再次运行它时,我得到了相同的结果。自定义属性被列出并被删除。但是该文档显然没有保存。
我错过了什么?
解决方案
推荐阅读
- tensorflow - 为什么 tf.estimator.DNNRegressor 预测负 y 值?
- python - 没有pk的django url
- php - Foreach 在 laravel 中使用不同查询从一个数据库表中调用值
- javascript - AmCharts Column fillColors IOS Safari & Chrome 上的全黑
- rust - 如何检查字符串是否仅包含 Rust 中的字符集?
- sql - 访问包含 MDF 文件的 App_Data 文件夹时 FileZilla 无响应
- forms - MsAccess 表单 - 最初为空记录,但需要在数据输入开始后强制填写
- sql-server - 对事件进行排序并按顺序在每个位置保留最早和最新的时间戳
- ibm-mq - 无法向用户提供权限
- c++ - queue.push() 和 queue.pop() 对 cv:Mat 的重度有多大(比如 1920x1080x3)