Oi .. Utilizo Delphi 7 com IB Objects 4.2.i Gostaria de copiar todo o conteudo de um IB_GRID para a memoria (clipboard) e depois salvar no Word.
Sei como fazer utilizando DBGRID, mas com o IB Objects nao encontrei a solucao e ja vi na lista IBOjects do Yahoo... Ai esta a rotina para usar no DBGRID (obrigado) procedure DBGridToClipBoard(DBGrid: TDBGrid; PastHeader: Boolean); var StrToCopy: string; Idx, IdxCol: Integer; BookMark, SavedBookMark: TBookMark; begin DBGrid.SelectedRows.Clear; DBGrid.DataSource.DataSet.DisableControls; try DBGrid.DataSource.DataSet.First; while not DBGrid.DataSource.DataSet.EOF do begin DBGrid.SelectedRows.CurrentRowSelected := True; DBGrid.DataSource.DataSet.Next; end; finally DBGrid.DataSource.DataSet.EnableControls; end; if DBGrid.SelectedRows.Count = 0 then Exit; StrToCopy := ''; if PastHeader then begin StrToCopy := DBGrid.Columns[0].Title.Caption; for IdxCol := 1 to DBGrid.Columns.Count - 1 do StrToCopy := format('%s'#9'%s', [StrToCopy, DBGrid.Columns[IdxCol].Title.Caption]); StrToCopy := StrToCopy + #13#10; end; with DBGrid.DataSource.DataSet do begin //salva a posição atual no DBGrid SavedBookMark := GetBookmark; //evita movimentação no DBGrid DisableControls; for Idx := 0 to DBGrid.SelectedRows.Count - 1 do begin //posiciona na linha selecionada GotoBookMark(Pointer(DBGrid.SelectedRows[Idx])); StrToCopy := StrToCopy + DBGrid.Columns[0].Field.AsString; for IdxCol := 1 to DBGrid.Columns.Count - 1 do StrToCopy := Format('%s'#9'%s', [StrToCopy, DBGrid.Columns[IdxCol].Field.AsString]); StrToCopy := StrToCopy + #13#10; end; ClipBoard.Clear; ClipBoard.SetTextBuf(PAnsiChar(StrToCopy)); //Restauramos o posicionamento inicial do DBGrid GotoBookMark(SavedBookMark); FreeBookMark(SavedBookMark); //reabilitamos movimentação no DBGrid EnableControls; end; end; [As partes desta mensagem que não continham texto foram removidas]