joka tulostaa listan leikepöytään, josta sen sitten voi siirtää johonkin muuhun ohjelmaan.
tee lomake, johon laitat komentopainikkeen nimeltä cmdCopy ja listboxin (voi olla myös comboboxi) nimeltä Lista1. Täytä listaa haluamallasi tavalla, koska esimerkki ei kopioi tyhjää listaa.
ja tässä koodit:
Private Sub cmdCopy_Click() cmdCopy.Enabled = false Tiimalasi True Call KopioiLista(Me!List1) cmdCopy.Enabled = true Tiimalasi False End Sub
Public Sub KopioiLista(ByVal Lista As Control) Dim p As Integer, res As String, i As Integer p = Lista.ListCount - 1 If p < 0 Then Exit Sub res = "" For i = 0 To p res = res & Lista.List(i) & vbCrLf Next i Clipboard.Clear 'leikepöytä tyhjennetään Clipboard.SetText res 'lista leikepöytään End Sub
Public Sub Tiimalasi(optio As Boolean) Select Case optio Case True Screen.MousePointer = vbHourglass Case False Screen.MousePointer = vbDefault End Select DoEvents End Sub
Vastaukset 1
Vanhimmat
joka tulostaa listan leikepöytään, josta sen sitten voi siirtää johonkin muuhun ohjelmaan.
tee lomake, johon laitat komentopainikkeen nimeltä cmdCopy ja listboxin (voi olla myös comboboxi) nimeltä Lista1. Täytä listaa haluamallasi tavalla, koska esimerkki ei kopioi tyhjää listaa.
ja tässä koodit:
Private Sub cmdCopy_Click()
cmdCopy.Enabled = false
Tiimalasi True
Call KopioiLista(Me!List1)
cmdCopy.Enabled = true
Tiimalasi False
End Sub
Public Sub KopioiLista(ByVal Lista As Control)
Dim p As Integer, res As String, i As Integer
p = Lista.ListCount - 1
If p < 0 Then Exit Sub
res = ""
For i = 0 To p
res = res & Lista.List(i) & vbCrLf
Next i
Clipboard.Clear 'leikepöytä tyhjennetään
Clipboard.SetText res 'lista leikepöytään
End Sub
Public Sub Tiimalasi(optio As Boolean)
Select Case optio
Case True
Screen.MousePointer = vbHourglass
Case False
Screen.MousePointer = vbDefault
End Select
DoEvents
End Sub