喫茶XRAYトップページ

[スレッド全体
]

[12274] DelphiからExcelの印刷機能を使うと楽ちん返信 削除
2018/9/14 (金) 20:43:51 taki
Delphi XE4 StarterでExcelを操作してみました。
マスターの
http://mrxray.on.coocan.jp/Delphi/plSamples/400_Excel_CreateObject.htm#00
を参考に(ほぼ丸写し)してテストしました。

starterなのでExcel2000.dcuがありませんので、usesからExcel2000をコメントアウトして
以下の定数を調べて定義してコンパイルしました。

const
  xlMaximized = -4137;
  xlShiftDown = -4121;
  xlValues = -4163;
  xlContinuous = 1;
  xlMedium = -4138;
  xlInsideVertical = 11;
  xlHairline = 1;
  xlInsideHorizontal = 12;
  xlEdgeTop = 8;
  xlThick = 4;
  xlEdgeBottom = 9;
  xlEdgeLeft = 7;
  xlEdgeRight = 10;
  xlCenter = -4108;
  xlDiagonalDown = 5;
  xlDot = -4118;
  xlDiagonalUp = 6;

やっていることは、
Excelのシートに既に作成されている印刷フォームのセルに
Delphiから値を書き込んで印刷させます。

印刷の部分はVBAのコードを参考にして
procedure TForm1.Button14Click(Sender: TObject);
begin
  if VarIsEmpty(ExcelObj) then exit;
  WorkSheet.PrintOut(1,1);  // 1ページから1ページ
end;
とすると印刷できました。

既にたくさんの印刷フォームがエクセルで作成されていたので
それを使わないのはもったいないと思い試してみました。

逆にExcel2000.pasの内容が気になりますが…。


[12275] Re:DelphiからExcelの印刷機能を使うと楽ちん返信 削除
2018/9/14 (金) 20:56:50 Mr.XRAY
▼ takiさん

> 逆にExcel2000.pasの内容が気になりますが…。

ハハハッ.すみませんねぇ.
Excel2000.pas で使っているのは定数名ぐらいです.
昔,ネット上の質問で xlxxx が未定義のエラーになります,というのがありました.
でもって,uses に ExcelXXX.pas を追加してください,っていうわけです.
未定義のエラーの度に定数を提示するのは面倒ですから.
あまり気にしないでくださいませ (笑)


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82