Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.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
Windows 使用powershell写入excel时防止覆盖弹出窗口_Windows_Excel_Csv_Powershell_Dialog - Fatal编程技术网

Windows 使用powershell写入excel时防止覆盖弹出窗口

Windows 使用powershell写入excel时防止覆盖弹出窗口,windows,excel,csv,powershell,dialog,Windows,Excel,Csv,Powershell,Dialog,我有一堆csv文件,从中我将数据写入现有excel文件的特定工作表。我有下面的代码,它在循环CSV文件并将数据写入现有工作表时工作 $CSVs=“rpt.test1”, “rpt.test2” foreach($csv中的csv) { $csv_name=$csv echo“n----$sav\u name----n” 由于它是一个现有的excel工作簿,因此每当文件被重写时,它都会弹出一个窗口。拥有超过15个CSV,每次单击“是”都会让人恼火 我试过了 $excel.DisplayAlerts

我有一堆csv文件,从中我将数据写入现有excel文件的特定工作表。我有下面的代码,它在循环CSV文件并将数据写入现有工作表时工作

$CSVs=“rpt.test1”, “rpt.test2”

foreach($csv中的csv) { $csv_name=$csv echo“
n----$sav\u name----
n”

由于它是一个现有的excel工作簿,因此每当文件被重写时,它都会弹出一个窗口。拥有超过15个CSV,每次单击“是”都会让人恼火

我试过了

$excel.DisplayAlerts = FALSE
$excel.CheckCompatibility = $False 
我已经试过了

$excel.DisplayAlerts = FALSE
$excel.CheckCompatibility = $False 

还有互联网上几乎所有可用的东西。我仍在学习powershell,并在绞尽脑汁试图阻止这种情况。非常感谢您提供的任何帮助。

对我有效。

SaveAs
调用之前使用display alerts语句:

$excel.DisplayAlerts = $false;
$excel.ActiveWorkbook.SaveAs($xlsFile);

如果您无法阻止“覆盖”弹出窗口,那么在执行SaveAs?If(测试路径$Path){Remove Item$Path}(从谷歌那里获取随机答案…)之前,您能否删除该文件我无法删除并重新创建文件,因为工作表1中有公式,而我只在工作表1中写入。这是我一直面临的最大问题。我一定是误解了你的问题-假设你在倒数第二个“SaveAs”中出错行。如果那里有一个文件,您要覆盖它,为什么不能删除它?为什么要使用
SaveAs
而不是
Save
(因为您要将文件保存到打开它的路径和名称)?@TimWilliams-这是我尝试的第一件事,脚本似乎无法识别保存并抛出错误。我找到了一个解决方法。我将模板保存在一个文件夹中,将数据复制到其中并保存在另一个文件夹中。而不是这样做,
$Workbook.SaveAs($Path,51)
我这样做了,它成功了。
$Workbook.SaveAs($OutPath,51)
请解释它是如何/为什么对给定的问题有效的?