喫茶XRAYトップページ

[スレッド全体
]

[1227] Re4:Wordの制御についてご教示下さい返信 削除
2007/5/3 (木) 15:03:14 satot
▼ Mr.XRAYさん
satotです
ご丁寧に教えていただいたのに、お礼が遅くなって申し訳ありません。
教えてばっかりおじさん、では来店お断りと言われかねないので
何とか格闘しておりましたが、一つだけ未解決です。
他アプリで開いた(中には当方が埋め込んだブックマークあり)
文書に対して、設定されたブックマークをreplaceするにあたり、
1).Wordが起動しているか
2).文書が開かれているか
3).その文書が目的の文書か
の3点をチェックする必要があると思います。
そこで、
1).は
if WordApplication1.Visible=False then
で、Wordが起動しているか
3).は
if WordDocument1.Name<>目的文書 then
で、その文書が目的の文書か、がチェックできるようですが、
2).の、文書が開かれているかどうかを取得する方法が
どうしてもわかりません。仕方ないので、3).の前に
WordDocument1.ConnectTo
     (WordApplication1.ActiveDocument as _document); を実行して
文書が開かれていなければ、エラーになるので、それを
on E: EOleSysError do
で捕捉して処理すれば何とかなるようですが、一つも文書が開かれて
いない状態を知る方法がありそうなのですが、Delphiのコード補完
を使ってもうまく捜せませんでした。
残念ながら
EnumChildWindows(Handle,Addr(EnumChildWndProc),0);
の方法は、使い方がよく理解できませんでした。
今年は少し暖かいようですが、5月の連休の北穂沢は雪崩の心配は
ないのでしょうか。




[1228] Re5:Wordの制御についてご教示下さい返信 削除
2007/5/3 (木) 21:36:27 Mr.XRAY
▼ satotさん

> ご丁寧に教えていただいたのに、お礼が遅くなって申し訳ありません。

こちらこそ。
ワードの起動のチェックというは、ワードのハンドルを取得して、失敗すれば
起動していないという方法があります。

var
     WordHandle : THandle;
begin
     WordHandle:=FindWindow('OpusApp',nil);
     if WordHandle=0 then begin
        ShowMessage('ワードが起動していないよ');
     end;

という感じです。OpusAppというのはどう調べるとのかと言うと、
EnumChildWindows等を使用します。
これは、Halbow資料館の以下を参考にして下さい。このページの一番下の
WindowTree.lzh・#95;ウンロードすると簡単にウィンドウのリストが見られます。

http://homepage2.nifty.com/Mr_XRAY/Halbow/VCL06.html

単にワードが起動していなければ実行しないという方針であれば、エラーを
トラップするという考え方もあります。
動けば正義という考えですね。

     try
     WordApplication1.Connect;
     WordApplication1.Visible:=True;
     WordDocument1.ConnectTo
                   (WordApplication1.ActiveDocument as _document);
     except
       ShowMessage('ワードが起動していなのでやめた');
     end;

開発アプリの仕様にもよりますが、
CreateProcess
ShellExecute
等で必ずワードを起動してから操作するという考え方もありかも知れません。

> 教えてばっかりおじさん、では来店お断りと言われかねないので

いえいえ、来る者拒まず、去るもの追わずです。

> 今年は少し暖かいようですが、5月の連休の北穂沢は雪崩の心配は

涸沢の場合、可能性が高いのは、北穂沢上部ですが、過去に死亡者がでたも
のがあります。事故にあったのは南稜ではなく北穂沢を登っていた連中です
(雪があるので北穂沢を直接登った方が速いし気持ちいい)。
テント場までは来ませんでした。

この時期、涸沢で雪崩事故に会う可能性制はかなり低いです、
ただ冬は登りにも下りにも利用する人はいません。槍沢は冬期の下りに使うこ
とがあります(速いから)。ただし吹雪の時は要注意です(笑)。




[1229] Re6:Wordの制御についてご教示下さい返信 削除
2007/5/3 (木) 22:19:07 satot
▼ Mr.XRAYさん
 satotです。たびたびありがとうございます。
あと一つ、wordが起動している状態で、文書が開いているかどうか
を調べる方法がないでしょうか。

>雪があるので北穂沢を直接登った方が速いし
北穂沢を登れるのはいつ頃まででしょうか。
>槍沢は冬期の下りに使うことがあります
一度冬の上高地で、1週間位テント生活をしたいのですが.....
冬の上高地はアプローチが長いので、冬は南アルプスか、八ヶ岳に
しか登った事はありません。(ラッセル不要なので楽です)
ところで、Halbowさんどうされているでしょうネ
ずいぶんていねいに教えて頂きました。
ではでは、

[1230] Re7:Wordの制御についてご教示下さい返信 削除
2007/5/4 (金) 01:06:26 Mr.XRAY
▼ satotさん

> あと一つ、wordが起動している状態で、文書が開いているかどうか
> を調べる方法がないでしょうか。


こいつは難しそうです.ワードのバージョンによって違いますが,確か
word2003でしたね.

http://homepage2.nifty.com/Mr_XRAY/Delphi/plWord/B_Property.htm

このページの一番下がそうなんですが.実際のWord2003でのコードとなると
HDDのどににあるか,そして2003の環境を立ち上げる必要があるので,確認は
... ,がんばってください (笑)

> 一度冬の上高地で、1週間位テント生活をしたいのですが.....

今は暮れから正月にかけて大正池の旅館がやっていますから,少しは人がいます.
写真撮影の方がほとんどです.冬は,坂巻まではタクシーが入ってくれます.
中の湯(釜トンネルの入り口,売店)が登山計画書の提出場所です.
(昔は木村小屋)
でも寂しいですぜ.河童橋付近は.梓川が風の通り道で...
風が唸っていますぜ.
ちょっと厳しいですが,横尾まで,雪の状態がよければ一日で入れます.
多分.でも冬期小屋(無人)が利用できますので(・#95;ルマストーブあり),
快適です.

> 冬の上高地はアプローチが長いので、冬は南アルプスか、八ヶ岳に
> しか登った事はありません。(ラッセル不要なので楽です)


南も北岳の方は,年によって結構なラッセルがありました.でも昔ということ
かな? 今は私が現役の頃より積雪量が少ないですからね.

http://www.geocities.jp/team84page/
私の所属する山の会のサイトです.たまには見てやって下さい.
私は恐くて覗けません(笑).

> ところで、Halbowさんどうされているでしょうネ

全く連絡とれていません.
実はお会いする機会があったのですが,私の都合であえなかったのです.
お会いしていれば,連絡先もわかったと思うのですが...



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