掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Excelプレビュー表示時のメニューボタンを無効にするには? (ID:20492)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ボタンの無効化を別スレッドにした方が楽か… type TThread1 = class(TThread) protected procedure Execute; override; end; var Thread1: TThread1; procedure TThread1.Execute; var i, hW: Integer; begin while not Terminated do begin hW := FindWindowExA(0, 0, 'XLMAIN', nil); hW := FindWindowExA(hW, 0, 'EXCELC', nil); if (hW <> 0)and(IsWindowVisible(hW)) then begin for i:=1 to 9 do case i of 2,3,4,5,6,8: EnableWindow(GetDlgItem(hW, i), False); else EnableWindow(GetDlgItem(hW, i), True); end; break; end; end; Terminate; end; procedure TForm1.Button1Click(Sender: TObject); var Excel: Variant; xlsWkb: Variant; xlsWks: Variant; begin if not SUCCEEDED(CoInitialize(nil)) then exit; try try Excel := CreateOleObject('Excel.Application'); except on EOleSysError do begin Excel := Null; exit; end; end; Excel.Visible := True; Excel.WorkBooks.Open('xlsファイル'); xlsWkb := E_App.ActiveWorkbook; xlsWks := E_App.ActiveSheet; Thread1 := TThread1.Create(True); Thread1.FreeOnTerminate := True; Thread1.Resume; xlsWks.PrintPreview; finally Excel.Quit; Excel := Unassigned; end; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.