Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Zwischenablage in eine Tabelle kopieren

Begonnen von Ken, Juni 29, 2017, 15:58:14

⏪ vorheriges - nächstes ⏩

Ken

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
Gruß
Ken


Office 2010

DF6GL

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.

Ken

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
Gruß
Ken


Office 2010

DF6GL

Hallo,

??

Ein Endlosform kann alle Tabellenfelder zeilenweise darstellen.

Die Form-Datenblattansicht in ähnlicher Weise.


Woher kommen denn die Daten überhaupt?

Ken

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
Gruß
Ken


Office 2010

DF6GL

Hallo,

Tabellen(ansichten)  besitzen keine Events und keine Ereignisprozeduren....


Lachtaube

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
Grüße von der (⌒▽⌒)


ebs17

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

Mit freundlichem Glück Auf!

Eberhard

PhilS

#9
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ß.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Ken

@ Lachtaube

Haha...diesen Schritt werde ich auch noch versuchen zu automatisieren...

@Alle

Vielen Dank für die Tipps!
Gruß
Ken


Office 2010

markusxy

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 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.