我正在尝试在数字世界中自动执行我的每日运行表,而不是每天打印它们。我需要前几天编辑的副本,以便第二天跟进。
该文件是由其他人在场外生成的,所以我无法继续使用该文件(直到我说服他们在 Teams 中使用实时文档)....
目前我有一个脚本,每天通过网络自动更新文件,并复制我前一天的笔记。所以数字方式是可行的。
删除旧文档(前一天的)保存文档关闭文档重命名为旧文档从网络复制新文档打开新文档打开旧文档(在 Word 视图中)
然后我可以复制调整
重复按键。
答案1
Windows 10 64 位。PowerShell 5.1
使用 PowerShell 保存并关闭 Word。
将路径更改为Word和test.doc
创建 %USERPROFILE%\Desktop\1.ps1:
# Save and close Word
# Windows 10 64-bit. PowerShell 5.1
function wait {
param([int]$stop = 1)
Start-Sleep -seconds $stop
}
add-type -AssemblyName microsoft.VisualBasic
add-type -AssemblyName System.Windows.Forms
[void] [System.Reflection.Assembly]::LoadWithPartialName("'Microsoft.VisualBasic")
& "C:\Program Files (x86)\Microsoft Office\OFFICE11\WINWORD.EXE" "$env:userprofile\Desktop\test.doc"
Start-Sleep -seconds 10 # was 20, 40, 10, 20, 5, 10, 13
$a = Get-Process | Where-Object {$_.Name -eq "winword"}
[Microsoft.VisualBasic.Interaction]::AppActivate($a.ID) *>$null
[System.Windows.Forms.SendKeys]::SendWait("%{f}{s}")
Start-Sleep -seconds 10
[System.Windows.Forms.SendKeys]::SendWait("%{f}{x}")
exit
捷径:
%systemroot%\System32\WindowsPowerShell\v1.0\powershell.exe "%USERPROFILE%\Desktop\1.ps1"
从命令行保存并关闭 Word。