Ohjelmointikielenäni on edelleen VBA ja ongelmia tuottaa tällä erää leikkeen liittäminen työpöydäl-tä textboxiin klikkaamalla textboxia hiiren oikeanpuoleisella napilla.
Seuraava koodi liittää liitettävän tekstin textboxiin:
Private Sub Textbox_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) If Button = 2 Then Leike.GetFromClipboard Textbox.Text = Textbox.Text & Leike.GetText(1) End If End Sub
Tämän lisäksi minulla on general-osiossa: Dim Leike As DataObject
Ongelmana on, että leike kopioituu textboxiin kahdesti. Eli jos olen kopioinut tekstin: Apina, niin textboxiin tulee teksti: ApinaApina
Eli löytyisikö keltään vinkkejä, kuinka saisin tekstin liitettyä vain yhteen kertaan?
Lisäksi leikepöydän tyhjennys ei toimi. Komento Clipboard.Clear herjaa seuraavasti: Runtime error 424, object required. Onko syynä VBA?
Moikka Äxä!
Jutskat toimii VBA-ympyröissä näin...
'Tällä saat tekstimuotoisen datan leikepöydälle Dim objekti As DataObject Dim leike As String leike = "Apina" Set objekti = New DataObject objekti.SetText leike objekti.PutInClipboard Set objekti = Nothing '--- 'Tällä saat tekstimuotoisen datan leikepöydältä Dim objekti As DataObject Dim leike As String Set objekti = New DataObject objekti.GetFromClipboard leike = objekti.GetText Set objekti = Nothing '--- 'Tämä tyhjentää leikepöydän Dim objekti As DataObject Set objekti = New DataObject objekti.SetText "" objekti.PutInClipboard Set objekti = Nothing
Kiitos Nea! Nyt toimii :D
Tuo VBA:n helppi ei näköjään kerro kaikkea :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.