Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用powershell脚本从任务栏中删除word文档_Powershell_Office Automation - Fatal编程技术网

如何使用powershell脚本从任务栏中删除word文档

如何使用powershell脚本从任务栏中删除word文档,powershell,office-automation,Powershell,Office Automation,我正在编写一个脚本,使用PowerShellscript从任务栏关闭word文档。我可以使用以下方法取消绑定文档: Pin-Taskbar -Item -Action <Pin|Unpin> Pin任务栏-项目-操作 但是,我需要关闭文档,而不是将其解绑。不确定如何找到特定文档并将其关闭。以下内容将关闭所有Word应用程序中的所有Word文档,询问他们是否希望在关闭文档之前保存文档。然后,所有Word应用程序进程都被终止 $wd = [Runtime.Interopservic

我正在编写一个脚本,使用
PowerShell
script从任务栏关闭word文档。我可以使用以下方法取消绑定文档:

Pin-Taskbar -Item  -Action <Pin|Unpin>
Pin任务栏-项目-操作

但是,我需要关闭文档,而不是将其解绑。不确定如何找到特定文档并将其关闭。

以下内容将关闭所有Word应用程序中的所有Word文档,询问他们是否希望在关闭文档之前保存文档。然后,所有Word应用程序进程都被终止

$wd = [Runtime.Interopservices.Marshal]::GetActiveObject('Word.Application')
$wd.Documents | % { $_.Close() }
Get-Process | ?{$_.ProcessName -eq "WINWORD"} | Stop-Process

谢谢这是工作正常,但我需要的文件,要求用户提供保存弹出窗口。强制关闭文档而不保存将意味着丢失数据。@user3190414我已更新了我的答案,因此要求was用户在文档关闭之前保存这些工作。谢谢Richard。这是有效的。我在excel和powerpoint中也尝试过这个,但总是出错。以下是我尝试过的内容:对于Excel:$wd=[Runtime.Interopservices.marshall]::GetActiveObject('Excel.Application')$wd.Workbooks |%{$\.Close()}。获取进程|?{$\进程名-eq“EXCEL”}停止进程。对于Powerpoint:$wd=[Runtime.Interopservices.Marshall]::GetActiveObject('Powerpoint.Application')$wd.Presentations |%{$\.Close()}获取进程|?{$\.ProcessName-eq“Powerpoint”}|停下-Process@user3190414你能用错误和你正在使用的代码创建另一个问题吗?错误代码是$excel.ActiveWorkbook |%{$\u.Close()}+~~~~~~~~~~~~+CategoryInfo:InvalidOperation:(Close:String)[],RuntimeException+FullyQualifiedErrorId:MethodNotFound