喫茶XRAYトップページ

[スレッド全体
]

[876] DelphiでWord操作の質問です。返信 削除
2006/8/8 (火) 19:08:43 ちいんけ
マスター お久しぶりです。

ちいんけ@東京です。
つまらない質問で申し訳無いのですが、教えていただきたいことがあります。

Delphi7.1Entで作成したAPPで、Word形式でレポートを吐き出す
コードを書いてるのですが、どうしても分からないことがあります。

Wordの操作はServersタブにあるTWordApplicationとTWordDocumentを
使用して、新規文書作成、画像貼り付け、別名保存までは問題なく
動作している状態です。

そこで、
Wordの自動マクロ記録で〔編集〕->〔ジャンプ〕(1ページ目に
飛ぶ)という単純なマクロを吐き出させた結果が以下のとおりで
このコードを元にDelphiで処理させようとして躓いています。

Sub Macro5()
  Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:="1"
  Selection.Find.ClearFormatting
  With Selection.Find
    .Text = ""
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchByte = False
    .MatchAllWordForms = False
    .MatchSoundsLike = False
    .MatchWildcards = False
    .MatchFuzzy = True
  End With
End Sub

このマクロ記録を私なりにDelphiで書き直すと

with WordApplication1 do begin
  Selection.GoTo_(wdGoToPage, wdGoToNext, EmptyParam,  '1');
  Selection.Find.ClearFormatting;
  with Selection.Find do begin
    Text := '';
    Replacement.Text := '';
    Forward := True;
    Wrap := wdFindContinue;
    Format := False;
    MatchCase := False;
   MatchWholeWord := False;
    MatchByte := False;
    MatchAllWordForms := False;
    MatchSoundsLike := False;
    MatchWildcards := False;
    MatchFuzzy := True;
  end;
end;

上コードの2行目にある”wdGoToPage”というOleVariant変数が
はいる引数で型エラーでストップしてしまいます。
Word_TLBのユニットを作成して、Word_TLB.pasのなかに
wdGoToPage変数を検索すると確かに存在します。

どうすれば、wdGoToPage等の定義された変数が使えるようになるの
でしょうか?

ご存知でしたら教えていただけると非常にありがたいのですが、、、

どうぞよろしくお願い致します。

ちいんけ@

[877] Re:DelphiでWord操作の質問です。返信 削除
2006/8/8 (火) 21:01:33 Mr.XRAY
▼ ちいんけさん
> マスター お久しぶりです。

どうも,こちらこそお久しぶりです.最近開発が沈滞ぎみです.
陳謝.

wdGoToPage これから調べてみます.しばらくお待ちください.


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