Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1496to1500
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Text in Zwischenablage kopieren
16.06.2016 16:19:22
Chris
Hallo zusammen,
in einer Anwendung soll der zweispaltige Inhalt einer Listbox in die Zwischenablage kopiert werden damit er z.B. in eine E-Mail eingefügt werden kann.
Hier der Code:

Private Sub cmdCopy_Click()
Dim copytext As String
Dim i As Integer
Dim myData As New Dataobject
For i = 0 To Me.lblProdukte.ListCount - 1
copytext = copytext & Me.lblProdukte.Column(0, i) & "    " & Me.lblProdukte.Column( _
1, i) & vbCrLf
Next i
myData.Clear
myData.SetText copytext
myData.PutInClipboard
MsgBox copytext
End Sub

Das Problem:
Beim einfügen zeigt er mir nur zwei kleine Vierecke an.
Lese ich den Inhalt der Zwischenablage aus und gebe es in eine MSGBox aus, erscheint: "?"
Lässt sich der Inhalt der Zwischenablage irgendwie formatieren / definieren?
Danke und viele Grüße
Chris

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Text in Zwischenablage kopieren
16.06.2016 16:28:41
Rudi
Hallo,
copytext = copytext & Me.lbxProdukte.List(i, 0) & "    " & Me.lbxProdukte.List(i, 1) & vbCrLf
Gruß
Rudi

AW: Text in Zwischenablage kopieren
16.06.2016 16:32:02
Chris
Hi Rudi,
danke für die schnelle Antwort.
Es werden aber noch immer die zwei ? angezeigt.
Woran kann das noch liegen?
Viele Grüße
Chris

AW: Text in Zwischenablage kopieren
16.06.2016 16:46:08
Rudi
hallo,
bei mir nicht.
Kommt so raus:
a l
b m
c n
d o
e p
muss natürlich bei dir lblProdukte heißen.
Gruß
Rudi

AW: Text in Zwischenablage kopieren
16.06.2016 16:49:25
Chris
Hi Rudi,
kann ich die ListBox an sich noch irgendwie formatieren?
Sie wird befüllt mit Inhalten au zwei Spalten einer Exceltabelle.
Ich habe noch einen zweiten Button der direkt eine E-Mail generiert, hier wird der Text aber sauber übernommen.
Hilf mir Obi-Wan... :)
Viele Grüße
Chris

Anzeige
AW: Text in Zwischenablage kopieren
16.06.2016 18:12:09
Nepumuk
Hallo,
warum schreibst du das nicht in eine Tabelle und kopierst den Tabellenbereich? Da kannst du auch formatieren wie es dir gefällt.
Gruß
Nepumuk

AW: Text in Zwischenablage kopieren
17.06.2016 08:46:52
Chris
Hi Nepumuk,
die Listbox ist für die Anwendung die beste Form.
Das seltsame ist auch, wenn ich die Variable, in welche ich die Werte der Listbox übergebe auslese , in dem ich den Inhalt zum Test einfach in einer MSGBox ausgebe, dann sehe ich hier den Text wie ich ihn brauche.
Der "Fehler" passiert anscheinend bei der Übergabe ins Dataobject, wessen Inhalt dann ja in den Zwischenspeicher übergeben wird.
Daher die Frage, kann ich das in VBA Excel formatieren?
Ich meine etwas von einem ".Setdata"-befehl gelesen zu haben?
Danke und viele Grüße
Chris

Anzeige
AW: Text in Zwischenablage kopieren
17.06.2016 08:55:09
Chris
Ich Depp!!!
Habe den Fehler gefunden...
Die erste Zeile meiner Listbox sind ja die ColumnHeads.
Wenn ich den Counter in der Schleife also nicht bei "0" sondern bei "1" beginnen lasse liest er NUR den Text.
Der richtige code lautet also:

Private Sub cmdCopy_Click()
Dim copytext As String
Dim i As Integer
Dim myData As New Dataobject
For i = 1 To Me.lblProdukte.ListCount - 1 '

AW: Text in Zwischenablage kopieren
17.06.2016 12:21:52
Mullit
"Das ist gut! Du hast den ersten Schritt in eine größere Welt getan."– Obi-Wan Kenobi
Gruß, Mullit

AW: Text in Zwischenablage kopieren
17.06.2016 13:29:17
Chris
Hu Mullit,
jetzt wirds doch seltsam.
Nachdem alles funktioniert hat, geht es jetzt urplötzlich nicht mehr.
Was gibt es denn noch für Ansätze?
In die Variable wird der richtige Inhalt übergeben.
Ins Dataobjekt dann aber wieder nur die zwei "?"...
Viele Grüße
Chris

Anzeige
AW: Text in Zwischenablage kopieren
17.06.2016 16:54:16
Mullit
Hallo,
eigentlich wollt ich mich hier ja auf die Obi Wan -Zitate beschränken und die Yoda Rolle Jedi-Meister Nepumuk überlassen, verdammt, aber gut es ist noch kein Jedi vom Himmel gefallen...
Ich seh nirgendwo, daß Du das Clipboard auch ausliest, das geht bei mir so, mit CommandButton1 und mit Bsp.-Daten in der Msgbox-Ausgabe unten...
Option Explicit

Private myData As DataObject

Private Sub CommandButton1_Click()
Call myData.GetFromClipboard
Call MsgBox(myData.GetText)
End Sub

Private Sub UserForm_Activate()
Me.lblProdukte.ColumnCount = 2
Me.lblProdukte.List() = Tabelle1.Cells(1, 1).Resize(10, 2).Value
End Sub

Private Sub cmdCopy_Click()
    Dim copytext As String
    Dim i As Integer
    Set myData = New DataObject
    
        For i = 1 To Me.lblProdukte.ListCount - 1 '<--------"1" anstatt "0" to Me.... 
            copytext = copytext & Me.lblProdukte.List(i, 0) & "    " & Me.lblProdukte.List(i, 1) _
 & vbCrLf
        Next i

    Call myData.Clear
    Call myData.SetText(copytext)
    Call myData.PutInClipboard
              
End Sub

Private Sub UserForm_Terminate()
 Call Tabelle1.Cells(1, 1).Copy
 Application.CutCopyMode = False
 Set myData = Nothing
End Sub


VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel



Code erstellt und getestet in Office 14
---------------------------
Microsoft Excel
---------------------------
dgf 65

gfhjhg gzrf

cvcvb rtfg

vbnnvb ztu76

jhg 8787

ghg 566

ghfhfg    5rtz

ghjhk rtfg

jk fthfgh


---------------------------
OK
---------------------------



Gruß, Mullit

Anzeige
AW: Text in Zwischenablage kopieren
20.06.2016 09:07:51
Chris
Guten Morgen Mullit,
er liest schon alles passend aus der Listbox aus... Das Problem ist dass es sporadisch nicht funktioniert.
Bei einem Test vor ein paar Minuten hat alles ohne Probleme funktioniert.
Nach einem Neustart der Anwendung erscheinen beim Einfügen wieder nur die "?".
Kann ich das myData Objekt irgendwie formatieren?
Oder sollte ich den Zwischenspeicher vor dem Einfügen des Texts resetten / leeren?
Viele Grüße
Chris

AW: Text in Zwischenablage kopieren
20.06.2016 09:24:22
Mullit
Hallo Chris,
hmm ich mein mich zu erinnern, daß es Probleme mit dem DataObjekt geben kann, vielleicht geht die Alternative von Nepumuk besser bei Dir.
Andernfalls wirst Du ne Bsp.-mappe mit dem Problem hochladen müssen....
Gruß, Mullit

Anzeige
AW: Text in Zwischenablage kopieren
16.06.2016 20:27:22
Mullit

Hilf mir Obi-Wan... :)

...Du mußt Dich mit der Macht (VBA) vertraut machen, Luke...
Gruß, Mullit

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige