名前 題名 ▼ Mr.XRAYさん > ▼ satotさん > > いらっしゃいませ.レスが遅くなり申し訳ありません. > > >コーヒーと山が好きな、病院勤務のおっさんです。 > > あれっ,同じですね.ただ私は今まったくといっていいほど山に行ってい > ません.現役の頃であれば,この時期は穂高あたりでしょうね. > でも私は病院勤務じゃないんです. > > もしかしたら意味をとり違えているかもしれませんが, > まず,ワード操作フォームから,同時に2つの文書を表示できません. > つまり,操作可能なのは一つの文書のみです. > これは,WebBrowser上で表示しているための制限です(OleContinerでも同じ). > > TWordApplicationで起動中のワードを操作するには > TWordApplicationのConnectKindがckRunningOrNewであれば自動的に接続 > してくれます.ただし,以下のように意図的に接続すれば,操作は明確 > になるでしょう. > > //============================================================================= > // 現在起動中(Running)のワードに接続 > // ワードが起動していない時の処理を追加する必要があるだろう > // ワード起動中の確認は,ワードのバージョンによって違う場合がある > // http://mrxray.on.coocan.jp/Delphi/plWord/B_Property.htm > // のリスト1が参考になるかも > //============================================================================= > procedure TForm1.Button1Click(Sender: TObject); > var > FilePath : OleVariant; > begin > WordApplication1.ConnectKind:=ckRunningInstance; > > WordApplication1.Connect; > WordApplication1.Visible:=True; > WordDocument1.ConnectTo > (WordApplication1.ActiveDocument as _document); > end; > //============================================================================= > // [終了]ボタン > //============================================================================= > procedure TForm1.Button2Click(Sender: TObject); > begin > Close; > end; > //============================================================================= > // 終了処理(Delphi言語の例外で停止が無効でないとtry〜end部分無効) > // FormのOnCloseイベント > // Wordの切断 > //============================================================================= > procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); > begin > try > //テストなので保存確認は無視 > WordDocument1.Saved:=True; > > WordDocument1.Close; > WordDocument1.Disconnect; > WordApplication1.Quit; > WordApplication1.Disconnect; > except > end; > end; > //============================================================================= > // 接続したワードの文書のキャレット位置に 東京都 という文字列を挿入 > // 挿入後 > //============================================================================= > procedure TForm1.Button4Click(Sender: TObject); > var > pUnit: OleVariant; > pCount: OleVariant; > begin > WordApplication1.Selection.InsertAfter('東京都'); > pUnit:=wdSentence; > pCount:=1; > WordApplication1.Selection.Move(pUnit,pCount); > end; > > ワードを起動後または,このコード実行後にワードを起動したり, > Button1をクリックしたから,Button4をクリックしたり, > Button1をクリックせずに,Button4をクリックしたり, > 複数の文書を開いて実験してみて下さい. > > それと,質問の際は,是非ご自分の開発環境を書いて下さいね. > これは以下の理由からです. > > (1)適当な解決方法がWindowsやDelphiのバージョンによって違うかもしれない. > (2)その環境で動作(動作しないも含め)の確認ができる. > 私と他の方の貴重な情報となる. > > よろしく. > satotoさんも,ここに書いているということは,この連休の山行は... > GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link