0

バックグラウンドでExcelファイルを開き、マクロを実行するpowershellスクリプトを実行します。問題は、実行に時間がかかることと、実行していることを忘れて別の Excel のインスタンスを開くことがあり、スクリプトが台無しになることです。

スクリプトに、ユーザーが別の Excel ファイルを開くのをブロックしたり、スクリプトをバックグラウンドで実行させて、フォアグラウンドで別のブックで作業できるようにする方法はありますか?

以下は、powershell スクリプトの関連部分です。

# Open excel
$excel = new-object -comobject excel.application
$macro = $excel.workbooks.open("C:\Users\User\AppData\Roaming\Microsoft\Excel\XLSTART\PERSONAL.XLSB")

# Get list of files to parse
$files = Get-ChildItem -Path $PWD\*.csv

# ----execute macros----

# Close excel
$macro.close()
$excel.quit()
4

1 に答える 1

0

基本的に、答えはノーです。新しいオブジェクトを作成すると、Excel が開きます。表示されません ($Excel.Visible=$true で表示されます) が、コマンドを送信できるようにするために開く必要があります。

于 2012-08-10T15:34:29.260 に答える