Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VBA: Leikkeen liittäminen textboxiin

Äxä [25.07.2007 11:28:16]

#

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?

neau33 [25.07.2007 12:04:30]

#

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

Äxä [25.07.2007 12:22:41]

#

Kiitos Nea! Nyt toimii :D
Tuo VBA:n helppi ei näköjään kerro kaikkea :)

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta