[xyzzy:01915] Re: OLE 対応、ありがとうございました
- Subject: [xyzzy:01915] Re: OLE 対応、ありがとうございました
- From: Tetsuya Kamei <kamei@xxxxxxxxxxxx>
- X-mailer: Denshin 8 Go V321.2b5
- X-yzzy-version: 0.0.0.74
大橋さん、こんにちは。
Tue, 16 Feb 1999 01:28:31 +0900 の
“[xyzzy:01912] OLE 対応、ありがとうございました”
への返事です.
| た。わたしの環境では2行目だけうまくいかなかったので、変更しました。素晴らし
気が変わったので t/nil を True/False に対応するように変更しまし
た。戻り値も True/False は t/nil になります。それから、ベクタの
代わりにリストでも可です。
| そうでしょうか。VBやRubyでコーディングすると、確かにフラットな感じに書けてお
| しゃれに見えますが、
こんな小細工をしてみたんですけどどうでしょう?
(defmacro $ (obj prop &rest args)
`(ole-method ,obj ',prop ,@args))
(defsetf $ (obj prop &rest args) (x)
`(progn
(ole-putprop ,obj ',prop ,x ,@args)
,x))
(let (app workbook worksheet range)
(setq app (ole-create-object "Excel.Application"))
(setf ($ app Visible) t)
(setq workbook ($ ($ app Workbooks) Add))
(setq worksheet ($ workbook Worksheets 1))
(setf ($ ($ worksheet Range "A1:D1") Value) '("North" "South" "East" "West"))
(setf ($ ($ worksheet Range "A2:B2") Value) #(5.2 10))
(setf ($ ($ worksheet Range "C2") Value) 8)
(setf ($ ($ worksheet Range "D2") Value) 20)
(setq range ($ worksheet Range "A1:D2"))
($ range Select)
($ ($ workbook Charts) Add)
(sit-for 5)
(setf ($ workbook saved) t)
($ ($ app ActiveWorkbook) Close 0)
($ app Quit))
| ●オブジェクト.XXXのXXXがプロパティなのかメソッドなのか、あいまいな感じがし
| ます。
これは、結構てきとーなんではないでしょうか? 某 Excel の Address
なんかは、95 ではメソッドだったのに 97 ではプロパティになってる
し。
--
亀井哲弥(Tetsuya Kamei)
kamei@xxxxxxxxxxxx/JCA00343@xxxxxxxxxxx