• ベストアンサー

PwshでexcelのメッセージをOK処理する

PowershellでExcelのセルデータにあるスペース区切りテキストから列分割を下記のコードで実行できますが、分割先のセルに既存データがある場合置換え確認のメッセージが出ます。Powershellで自動的にOK処理が出来ないかあるいはメッセージそのものを出さな方法があれば教えてください。 Excel部分に関するコード $excel = New-Object -ComObject Excel.Application $excel.Visible = $true $workbook = $excel.Workbooks.Open($excelPath) $sheet = $workbook.Worksheets.Item(1) $sheet.Range($sheet.Cells($StartRow, $StartColumn), $sheet.Cells($lincount +1,$StartColumn)).select() $xlRange = $sheet.usedrange $xlColA = $sheet.Cells($StartRow, $StartColumn).EntireColumn #$xlColrange = $sheet.range("A1") $xlDelimited = 1 $xlTextQualifier = -4142 #$xlTextFormat = 2 $xlColA.texttocolumns($xlRange,$xlDelimited,$xlTextQualifier,$true,$false,$true,$true,$true) $sheet.columns.autofit() 宜しくお願いします

質問者が選んだベストアンサー

  • ベストアンサー
  • luka3
  • ベストアンサー率72% (424/583)
回答No.1

「texttocolumns 上書き」で検索すると、 https://www.relief.jp/docs/excel-vba-not-show-over-wright-range-texttocolumns-method.html 『DisplayAlerts = False』とするといいようです。 ということで、texttocolumns 実行前に $excel.DisplayAlerts = $False とすればいいはずです。

turu575
質問者

お礼

有り難うございます。 メッセージが表示されないで列に分割上書き処理が完了しました。 前処理で元ファイルの内容がすでに動的配列(スペース区切りテキストデータ)で置き換えられてしまっていたのでいまさら確認されても不用な作業なので助かりました。