Hallo Zusammen,
ich versuche Daten in einer Zwischenablage in eine Tabelle zu kopieren.
Es funktioniert z.B. wenn ich die Zwischenablage in ein Textfeld in einem Formular einfüge:
Dim ctl As Control
Set ctl = Forms!main!Txt_Summe_he
ctl.SetFocus
ctl.SelStart = 0
ctl.SelLength = Len(ctl.Text)
DoCmd.RunCommand acCmdPaste
Aber ich weiß nicht wie ich die Tabelle ansteuern muss, falls so etwas überhaupt möglich ist. Per Strg + V gehe ich ja in die Tabelle und gut ist, aber wie es mit dem Befehl DoCmd.RunCommand acCmdPaste gehen soll ist mir ein Rätsel.
Wenn jemand eine Idee hat wäre ich mehr als Dankbar!
Gruß
Ken
Hallo,
wozu soll das direkt in der Tabelle geschehen? Dateneingaben sollten immer mit Formualren gemacht werden, binde also das Textfeld an ein entspr. Tabellenfeld und schon ist es erledigt.
Hallo DF6GL,
klingt logisch, aber es kommt auf die Datenmenge an...ich möchte nicht wie in meinem Textfeld Beispiel nur ein Feld füllen, sondern eine Datenmenge X. Dazu müsste ich dann zu viele Textfelder anlegen, zumal die Datenmenge nicht immer gleich sein muss.
Sorry hatte ich vergessen zu erwähnen.
Gruß
Ken
Hallo,
??
Ein Endlosform kann alle Tabellenfelder zeilenweise darstellen.
Die Form-Datenblattansicht in ähnlicher Weise.
Woher kommen denn die Daten überhaupt?
Hallo DF6GL,
hmm...ein Endlosformular...ja das wäre auch eine Idee.
Die Daten kommen aus einem PDF, die Formatierung ist dort immer gleich, nur die Datenmenge nicht.
Ich dachte halt man könnte direkt in eine Tabelle kopieren (like Strg-V).
Gruß
Ken
Hallo,
Tabellen(ansichten) besitzen keine Events und keine Ereignisprozeduren....
Das Markieren und Kopieren von Texten aus PDF-Dateien ist ja eine hübsche Sisyphos-Arbeit - hast Du etwas auf dem Kerbholz, dass Du Dich dazu verpflichtet siehst? ;D
;D
Das Mischen von Windowsaktionen (Zwischenablage), Tastenkombinationen, Oberflächenbefehlen und VBA-Code wird immer unübersichtlich und fehlerbehaftet bleiben.
Suinnvollerweise wird man alles in einer Hand (VBA) abwickeln, braucht dazu aber bekannte gleichbleibende Datenstrukturen.
Text aus PDF kann man bspw. so übernehmen:
Plaintext aus PDF extrahieren (http://www.ms-office-forum.net/forum/showthread.php?t=273851)
Zitat von: Ken am Juni 30, 2017, 09:15:18
Ich dachte halt man könnte direkt in eine Tabelle kopieren (like Strg-V).
Das
Kopieren Einfügen an sich ist gar kein Problem:
DoCmd.GoToRecord acActiveDataObject,,acNewRec
DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdPaste
Funktioniert mit Formularen und Tabellen.
Voraussetzung ist aber, dass der Inhalt der Zwischenablage auch sinnvoll in die Datenstruktur der Tabelle passt. Andernfalls kommt dabei mehr oder weniger Unsinn heraus.
Wenn du die gleichen Daten mit [Strg]+[V] einfügen kannst, sollte das per Code ebenfalls funktionieren.
Ob das ganze ein sinnvoller Workflow ist, sei mal dahingestellt. Die Fehlerträchtigkeit ist aus meiner Sicht relativ groß.
@ Lachtaube
Haha...diesen Schritt werde ich auch noch versuchen zu automatisieren...
@Alle
Vielen Dank für die Tipps!
Ich würde empfehlen den Inhalt der PDF per Code auszulesen und ebenso das Einfügen in die Tabelle ohne Formular, also via Recordset vorzunehmen.
Hier (http://ms-office-forum.net/forum/showthread.php?t=273851) gibts ein Beispiel für das Einlesen von PDF. Persönlich habe ich das Beispiel noch nie verwendet, da ich entweder direkt mit Acrobat (Vollversion) arbeite und bei umfangreichen PDF's wo ich hunderte Seiten einlese, verwende ich ein anderes Progamm (PixelPlanet) um die PDF in eine Textdatei auszugeben. Bei den Möglichkeiten zur Ausgabe gibt es da große Unterschiede zwischen den Programmen.