ورود

View Full Version : سوال در مورد کار با Word



Kamyar.Kimiyabeigi
شنبه 12 اسفند 1385, 16:05 عصر
درود
من یک سوال دارم :
چه جوری میتونم در یک فایل Word که یک Textbox داره ، داخل اون Textbox یک Picture قرار بدم؟؟ البته نمیخوام از Component های خارج از دلفی استفاده کنم. (فقط میخوام از Component های Servers استفاده کنم.)

nasr
شنبه 12 اسفند 1385, 16:45 عصر
حتما می خواید داخل اون TexBox که از قبل در Word قرار دادید اون عکس وارد بشه؟

میشه عکس را روی فرم لود کنید بعد با یه دکمه عکس روی فرم را بفرستیدش توی Word .

Kamyar.Kimiyabeigi
یک شنبه 13 اسفند 1385, 07:43 صبح
حتما می خواید داخل اون TexBox که از قبل در Word قرار دادید اون عکس وارد بشه؟

میشه عکس را روی فرم لود کنید بعد با یه دکمه عکس روی فرم را بفرستیدش توی Word .

ممنون از جوابتون.
ولی بلدم که عکس را توی Doc قرار بدم فقط نمیدونم چه جوری میتونم یک Textbox ایی که از قبل داخل Doc هست را پیدا کنم و داخلش عکس قرار بدم.

Kamyar.Kimiyabeigi
یک شنبه 13 اسفند 1385, 14:38 عصر
جوابمو پیدا کردم


procedure TForm1.InsertPicture;
var
MSWord: OLEVariant;
i: Integer;
begin
try
// active word instance
MSWord := GetActiveOleObject('Word.Application');
except
Exit; // Word not open
end;

for i := 1 to MSWord.ActiveDocument.Shapes.Count do
begin
if Trim(MSWord.ActiveDocument.Shapes.Item(i).TextFram e.TextRange) = 'Location Of Picture' then
begin
MSWord.ActiveDocument.Shapes.Item(i).TextFrame.Tex tRange := '';
MSWord.ActiveDocument.Shapes.Item(i).TextFrame.Tex tRange.InlineShapes.AddPicture('C:\Documents and Settings\Desktop\1.jpg', EmptyParam, EmptyParam, EmptyParam);
end;
end;
MSWord := Unassigned;
end;

در این حالت شما باید در Textbox متن Location Of Picture را بنویسید و با استفاده از این متن Textbox مربوطه را پیدا کنین و سپس داخلش عکستونو load کنین.
ادامه برنامه جهت استفاده از procedure بالا


procedure TForm1.Button3Click(Sender: TObject);
var
_filename: OleVariant;
_shape: Shape;
i: Integer;
begin
try
_filename := 'C:\Documents and Settings\Desktop\Doc1.doc';
WordApplication1.Connect;
WordApplication1.Documents.Open(_filename, emptyparam, emptyparam, emptyparam,
emptyparam, emptyparam, emptyparam, emptyparam,
emptyparam, emptyparam);
InsertPicture;
WordApplication1.Documents.Save(EmptyParam, EmptyParam);
finally
WordApplication1.Disconnect;
ShowMessage('Finish');
end;
end;

موفق باشین