コンソールなら良いのですが、PowerShell 統合スクリプト環境 (ISE) だと、Windows アプリケーションなので、元となるプロセスが終了しな いと Excel がプロセスに残ったままになります。 明示的に終了させるには、.NET プログラミングで通常行われる方法で 行いますが、作成したオブジェクトは全て $null をセットする必要が あるかもしれません ※ 作成したオブジェクト : 少なくとも左辺に置いた変数にセットした場合
$ExcelApp = New-Object -ComObject "Excel.Application" $ExcelApp.Quit() $ExcelApp = $null [System.GC]::Collect([System.GC]::MaxGeneration)
PowerShell2.0 : COM 経由で Excel のグラフを作成した後、 PDFとしてエクスポートする を ISE で実行した場合、以下の処理を 追加するとメモリから解放されました
$ExcelApp = $null $MyChart = $null $newChartObject = $null $dataRange = $null $chartObjects = $null $MySheet = $null $ExcelBook = $null [System.GC]::Collect([System.GC]::MaxGeneration)
タグ:PowerShell
|
【PowerShellの最新記事】
- PowerShell のバージョンを確認して、最新の PowerShell(pwsh)を実行する方法
- PowerShell で System.Data.Odbc を使用して MySQL のデータを一覧表示( csv )
- PowerShell : COM 経由(New-Object) + MySQL Connector/ODBC でループ処理をしながら更新
- PowerShell でエクスプローラでコピーしたファイルリストを取得して、テキストのクリップボードに再度コピーしなおす
- PowerShell : ファイルを開くダイアログを使うのに System.Windows.Forms を参照する二つの方法
- PowerShell2.0 : PowerShell のコードだけで TKMP.dll を使用してメールを送信する
- PowerShell2.0 : PowerShell 内で VBのコードを記述(TKMP.dllを使用)して、exe を作成した後実行してメールを送信する
- PowerShell で PNG 画像にフォントを指定してテキストを書き込む
- PowerShell で、SQLServer2012 の SMO を使用してテーブルの create 用のスクリプトを出力する
- PowerShell より New-Object で .NET Framework を使って簡単にバイナリファイルをアップロードする
- PowerShell より COM オブジェクトを使用して、簡単にバイナリファイルをアップロードする
- PowerShell2.0 : here-string と呼ばれるヒアドキュメント( here-string )の構文
- PowerShell2.0 : 初めての PowerShell / ファイルのダウンロード (.NET Framework の利用)
- PowerShell2.0 : ファイルを開くダイアログを使う
- PowerShell2.0 : イベントの処理とタイマーと、関数と変数のスコープ
- PowerShell(スクリプト)の引数を格納する配列変数 $args の扱い
- PowerShell2.0 : Shell.Application でディレクトリ内のファイルとディレクトリの個数( .NET の文字列フォーマット )
- PowerShell2.0 : 全ての日本語ヘルプファイル(テキスト)を作成するスクリプト
- PowerShell2.0 : プロンプトの変更
- PowerShell2.0 : .NET Framework のスタティックメソッドの実行