Excel'in Clipboard'a gönderme formatı
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Excel'in Clipboard'a gönderme formatı
--
En son aseka tarafından 18 Mar 2008 02:57 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
merhaba
Ms Excel'in formatlı olarak kopyalama tekniğini şu kodları yazdım:
procedure TForm1.Button1Click(Sender: TObject);
Var
j:integer;
begin
for j:=0 to ClipBoard.FormatCount-1 do
Begin
GetClpData(ClipBoard.Formats[j],j);
end;
end;
procedure TForm1.GetClpData(f: word;j:integer);
var
Data: THandle;
DataPtr: Pointer;
MemStream: TMemoryStream;
Reader: TReader;
begin
ClipBoard.Open;
try
Data := GetClipboardData(f);
if Data = 0 then Exit;
DataPtr := GlobalLock(Data);
if DataPtr = nil then Exit;
MemStream := TMemoryStream.Create;
try
MemStream.WriteBuffer(DataPtr^, GlobalSize(Data));
MemStream.SaveToFile('C:\den'+
inttostr(j)+'.txt');
MemStream.Free;
finally
GlobalUnlock(Data);
end;
finally
ClipBoard.Close;
end;
end;
bu kodlar çeşitli formatlardaki excel kopyalama bilgilerini den0.txt,den1.txt... şeklinde 30 kadar dosyaya yazıyor.
Bu dosyaları inceleyerek çözüme gidebilirsin belki diyeceğim
Ancak bence sen en iyisi bir component araştır. Ya da bir ole nesnesi kullanarak exceli kendi programına yükle.
Ms Excel'in formatlı olarak kopyalama tekniğini şu kodları yazdım:
procedure TForm1.Button1Click(Sender: TObject);
Var
j:integer;
begin
for j:=0 to ClipBoard.FormatCount-1 do
Begin
GetClpData(ClipBoard.Formats[j],j);
end;
end;
procedure TForm1.GetClpData(f: word;j:integer);
var
Data: THandle;
DataPtr: Pointer;
MemStream: TMemoryStream;
Reader: TReader;
begin
ClipBoard.Open;
try
Data := GetClipboardData(f);
if Data = 0 then Exit;
DataPtr := GlobalLock(Data);
if DataPtr = nil then Exit;
MemStream := TMemoryStream.Create;
try
MemStream.WriteBuffer(DataPtr^, GlobalSize(Data));
MemStream.SaveToFile('C:\den'+
inttostr(j)+'.txt');
MemStream.Free;
finally
GlobalUnlock(Data);
end;
finally
ClipBoard.Close;
end;
end;
bu kodlar çeşitli formatlardaki excel kopyalama bilgilerini den0.txt,den1.txt... şeklinde 30 kadar dosyaya yazıyor.
Bu dosyaları inceleyerek çözüme gidebilirsin belki diyeceğim

Ancak bence sen en iyisi bir component araştır. Ya da bir ole nesnesi kullanarak exceli kendi programına yükle.