Daten aus ListView verwenden
21.07.2015 18:33:45
DirkR
Ich tüftele nun schon eine ganze Zeit rum....bekomme es aber nicht hin und bitte um Hilfe.
Ich habe in einer UF ein ListView und möchte nun Daten daraus weiter benutzen.
Das folgende Beispiel aus dem Forum hilft mir die Daten in eine Tabelle zu schreiben. Das funktioniert auch schon ganz gut.
Private Sub CommandButton2_Click()
Dim avntTemp As Variant
Dim lngRow As Long, lngColumn As Long
With ListView1
Redim avntTemp(1 To .ListItems.Count, 1 To .ColumnHeaders.Count)
For lngRow = 1 To .ListItems.Count
avntTemp(lngRow, 1) = .ListItems(lngRow).Text
For lngColumn = 2 To .ColumnHeaders.Count
avntTemp(lngRow, lngColumn) = .ListItems(lngRow).ListSubItems(lngColumn - 1). _
Text
Next
Next
End With
Tabelle1.Cells(1, 1).Resize(UBound(avntTemp, 1), UBound(avntTemp, 2)) = avntTemp
End Sub
Ich möchte nun Worddateien automatisch ausdrucken.In der ListView sind Kundendaten. In Spalte 3 ist eine ID-Nummer, in Spalte 6 ist der Nachname und in Spalte 7 ist der Vorname. Alle anderen Spalten benötige ich nicht.
Der Pfad der Worddatei setzt sich wie folgt zusammen:
ThisWorkbookPath & "\03 - Kundendokumente\" & Nachname & "_" & Vorname & "-" & ID-Nummer & "\"
Der Name der Worddatei:
ThisWorkbook.Path & "\Kontaktbericht_" & Nachname & "_" & Vorname & "-" & ID-Nummer & ".docm"
Einen Ansatz zum Drucken habe ich auch schon:
Option Explicit
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
Public Sub Word_Drucken()
Dim wksBlatt As Worksheet
Dim strDatei As String
Dim lngAnzahl As Long, lngZeile As Long
Set wksBlatt = ThisWorkbook.Worksheets("Tabelle1")
With wksBlatt
lngZeile = IIf(IsEmpty(.Range("A65536")), .Range("A65536").End(xlUp).Row, 65536)
End With
For lngAnzahl = 1 To lngZeile
strDatei = wksBlatt.Cells(lngAnzahl, 1).Text
MsgBox strDatei
ShellExecute 0, "Print", strDatei, "", "", 2
Next lngAnzahl
Set wksBlatt = Nothing
End Sub
Jetzt muss ich es nur noch schaffen, dass ich aus dem ListView Zeile für Zeile die Daten, Pfad und Name Worddatei wie beschrieben, zum Drucken übergebe.Und genau da liegt das Problem. Ich weiß nicht, wie ich den Pfad und den Namen Zeile für Zeile auslese!!!?
Ich hoffe auf Hilfe!
Gruß DirkR