掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DelphiでVBA操作時、改ページをいれるとスレッドが残る (ID:43294)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
いつもお世話になっております。 DelphiEx2+Excel2010にて帳票を作成しておりますが、改ページをいれるプログラムにて、スレッドが解放されず、困っています。 下記ソースを実行したところ、イベント内でExcelを格納した変数をunassignedしているにも関わらず、Excelのスレッドが解放されません。EXE終了後、スレッドは解放されます。 自力で調査をしたのですが、レイトバインドしたとき、PageBreakを実行するとこの現象が起こるらしいところまではわかったのですが、その先がわかりません。どなたがご存知の方がいらっしゃったら、ご教授願います。 ↓以下、サンプルコード procedure TForm1.Button1Click(Sender: TObject); var vExcel : variant; //Excel.Application bAlert : boolean; begin vExcel := CreateOleObject('Excel.Application'); bAlert := vExcel.DisplayAlerts; vExcel.DisplayAlerts := false; try vExcel.Visible := true; vExcel.WorkBooks.Add; //------------------------------------------ // 問題のソースコード [PageBreakの追加] // コメントアウトすると、スレッドが残らない //------------------------------------------ vExcel.ActiveSheet.Range[vExcel.ActiveSheet.Cells[2,1], vExcel.ActiveSheet.Cells[3,3]].PageBreak := true; finally vExcel.ActiveWorkBook.Close; vExcel.DisplayAlerts := bAlert; vExcel.quit; vExcel := unassigned; end; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.