Hola ecfisa:
Te agradezco el tiempo de tu respuesta, tome tu ejemplo y le hice algunas modificaciones con las cuales el código quedo de la siguiente forma
Código Delphi
[-]
procedure CopiarDBGridPortaPales (pBDGrid : TDBGrid);
var
i_local,j_local: Integer;
BookMark_local: TBookmarkStr;
s_local: string;
begin
pBDGrid.DataSource.DataSet.DisableControls; try
BookMark_local:= pBDGrid.DataSource.DataSet.Bookmark; pBDGrid.DataSource.DataSet.first; s_local:= '';
for i_local:= 1 to pBDGrid.Datasource.dataset.RecordCount - 1 do begin
for j_local:= 0 to pBDGrid.FieldCount - 1 do begin
s_local:= s_local + pBDGrid.Fields[j_local].AsString;
if i_local < pBDGrid.datasource.dataset.recordCount then s_local:= s_local + #10;
end;
s_local:= s_local + #13; pBDGrid.DataSource.DataSet.Next; end;
ClipBoard.SetTextBuf(PChar(s_local)); pBDGrid.DataSource.DataSet.Bookmark:= BookMark_local; finally
pBDGrid.DataSource.DataSet.EnableControls;
end;
end;
bien en orden de ideas ya esta copiando los datos del DBGrid en el Portapales, el formato en el que lo esta haciendo no es correcto, ya que lo que necesito es que al pegar los datos del portapapeles los pegue con forma de columnas (que al pegarlo en excel se vea como en la grilla) lo cual no he logrado; en mis pruebas cambie el separador que en tu ejemplo estaba con '-' por un tab #10, pero lo que obtengo al pegar los datos son los de una una misma fila uno debajo del otro.
Agradezco de antemano cualquier aporte que me ayude a encontrar la solución que deseo.
atentamente
gertorresm
Colombia.