▼ まるじさん、こんにちは。
> 元の文章が消されてしまい図だけ張り付きます。
> (ワードの"元に戻すボタン"で書き込んであった文章は戻せます。)
まず、以下のことを教えて下さい。
(1) 開発Delphiのバージョン
(2) 開発Windowsのバージョンとワードのバージョン
(3) その図を貼付けた時に、ワードの文書のどの位置にどのくらい
の大きさとなっているか。
(例 用紙の横幅一杯とか、mmのサイズとか)
(4) その図を選択した時に、周囲のグラブ(サイズ調整用の四角形の
色(塗りつぶしか白か)
(5) もし、その図形をマウスで移動できるなら、移動したら元の
文章が見えるようになるのか。
それと、テストコードで気づいたこと。
(1) たとえテストでも生成したオブジェクトは破棄しておく方が
いいでしょう。予期せぬ状態を招くことがあります。
(2) 同様に、もし、クリップボードから画像を取得できなかった場合も
考えておく。
(3) Wordという予約語の変数は使用しない。問題が発生した場合、バグ
取りが困難となります。
例えば以下の様に。
procedure TForm1.Button1Click(Sender: TObject);
var
S: String;
begin
S:='C:\AAA\Test.doc';
WApp := CreateOleObject('Word.Application');
try
AWord := WApp.Documents.Open(S);
AWord.Content.PasteSpecial(,,,,wdPasteBitmap);
//ここでAWord:=AWord.Content...としてしまうと、
//後でAWordが何を指しているか不明となってしまう。
//必要であれば別の変数を用意する。
except
end;
WApp.Visible := True;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
//VarIsEmptyはDelphiのバージョンによっては使用不可?
if not VarIsEmpty(WApp) then begin
AWord :=unAssigned;
WApp :=unAssigned;
end;
end;
|