AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Daten von Excel über das Clipboard in Stringgrid einfügen
Thema durchsuchen
Ansicht
Themen-Optionen

Daten von Excel über das Clipboard in Stringgrid einfügen

Ein Thema von Bernhard73 · begonnen am 18. Apr 2014 · letzter Beitrag vom 23. Apr 2014
 
Bernhard73

Registriert seit: 4. Jul 2010
36 Beiträge
 
Delphi 11 Alexandria
 
#1

Daten von Excel über das Clipboard in Stringgrid einfügen

  Alt 18. Apr 2014, 17:36
Hallo zusammen,

ich habe da ein Problem, dessen Ursache mir nicht so ganz klar ist. Es geht um das Einfügen von Text aus einer Excel-Tabelle in ein StringGrid. Das ganze soll einfach über die Zwischenablage mittels Copy & Paste erfolgen. Ist Teil eines größeren Programmes, dass bei uns auf der Arbeit eingesetzt wird.

Folgender Code funktioniert bei mir zuhause (Win7 64bit, Excel 2010) exakt so wie ich mir das vorstelle:
Delphi-Quellcode:
procedure PasteFromClipboard(Grid : TStringGrid;ACol, ARow : Integer);
var s,t,u : String;
    x,y,xx : Integer;
begin
  xx:=Grid.Col; x:=xx; y:=Grid.Row;

  s := Clipboard.AsText;
  t:=''; u:='';

  while s <> 'do
  begin
    t := copy(s, 1, pos(#13, s)-1);
    delete(s, 1, pos(#13, s) + 1);

    while t <> 'do
    begin
      if pos(#9,t)>0 then
      begin
        u := copy(t, 1, pos(#9, t)-1);
        delete(t, 1, pos(#9, t));
      end
      else
      begin
        u:=t; t:='';
      end;
      if (x<Grid.ColCount) and (y<Grid.RowCount) then
        Grid.Cells[x,y]:=u;
      inc(x);
    end;
    inc(y);
    x:=xx;
  end;
end;
Auch auf der Arbeit (da hab ich WinXP, Office 2003) klappt das bestens.
Bei einer Arbeitskollegin, die das Programm benutzt (Win7 64 bit, Office 2010) funktioniert das ganze jedoch aus irgendwelchen Gründen nicht. Bei ihr wird offenbar der gesamte Text in eine einzelne Zelle kopiert, bei ansonsten (scheinbar) identischen Ausgangsbedingungen. Dummerweise bräuchte gerade sie die Funktion aber (es geht da um Dienstplanerstellung).

Am Code kann es eigentlich nicht liegen. Am ehesten wäre anzunehmen, das die Formatierung der Daten, die Excel ans Clipboard übergibt, sich unterscheiden. Aber wie gesagt, zuhause bei mir funktioniert das ganze, mit den (scheinbar) gleichen Systemvoraussetzungen (d.h. Win7 64 bit + Office 2010).

Hat da jemand eine zündende Idee?

Danke für Eure Bemühungen,
Bernhard
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz