Mit folgendem Code kann man eine Worddatei auswählen und den Dateinamen in die TextBox19 eintragen lassen:
Private Sub CommandButton25_Click()
Dim Dateiname
Dateiname = Application.GetOpenFilename _
("Word-Dateien (*.doc), *.doc", , "Dateiauswahl", , False)
If Dateiname <> False Then
TextBox19.Text = Dateiname
End If
TextBox18.Text = "Dateinamen vergeben"
End Sub
Mit folgendem Code wird der Pfad in das Arbeitsblatt Word eingetragen:
Spalte A der Dateiname
Spalte B der dazugehörige Pfad
Private Sub CommandButton27_Click()
Workbooks("Abteilungsablage.xla").IsAddin = False
Workbooks("Abteilungsablage.xla").Activate
Sheets("Word").Select
If Range("A1") = "" Then
Range("A1") = TextBox18.Text
Else
Range("A65536").End(xlUp).Offset(1, 0).Value = TextBox18.Text
End If
If Range("B1") = "" Then
Range("B1") = TextBox19.Text
Else
Range("A65536").End(xlUp).Offset(1 - 1, 1).Value = TextBox19.Text
End If
Workbooks("Abteilungsablage.xla").Save
'Workbooks("Abteilungsablage.xla").IsAddin = True
End Sub
Mit folgendem Code werden die vorhandenen Dateinamen in die Listbox3 eingetragen.
Private Sub CommandButton23_Click()
Workbooks("Abteilungsablage.xla").Activate
Sheets("Word").Select
'Dim z
Dim My_ArrayC As Variant
ListBox2.Visible = False
ListBox3.Visible = True
ListBox4.Visible = False
My_ArrayC = Workbooks("Abteilungsablage.xla").Worksheets("Word").Range("$A$1:$B$1000")
With ListBox3
.ColumnCount = 2
.BoundColumn = 2
.ColumnWidths = "2cm;0cm"
.List = My_ArrayC
End With
'Workbooks("Abteilungsablage.xla").Activate
'Sheets("Word").Select
'ListBox2.Visible = False
'ListBox3.Visible = True
'ListBox4.Visible = False
''Listbox beim Laden mit Einträgen aus Spalte A befüllen
' ListBox3.Clear
' With ListBox3
' .ColumnCount = 2
' .BoundColumn = 2
' .ColumnWidths = "2cm;0cm"
' End With
' For z = 1 To Sheets(2).Cells(Rows.Count, 1).End(xlUp).Row
' ListBox3.AddItem Sheets(2).Cells(z, 1)
'Next
End Sub
Wird jetzt ein Dateiname in der Listbox3 doppelt angeklickt, dann wird der Pfad in die Textbox15 eingetragen und das gewünschte word Dokument wird eingetragen.
Private Sub ListBox3_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
TextBox15.Text = ListBox3 '.Column(1)
Call WordStarten
End Sub
Sub WordStarten()
On Error Resume Next
Dim strDat As String
Dim Pfad
Pfad = UserForm1.TextBox15.Text
Set wdApp = New Word.Application
Set wdDoc = wdApp.Documents.Add(Pfad)
'wdApp.Run "Oeffnen"
'wdApp.Selection.Goto what:=wdGoToBookmark, Name:="Name"
'wdApp.Selection.TypeText "Hallo"
wdApp.Visible = True
' strDat = wdApp.Dialogs(wdDialogFileOpen).Show
' If strDat "0" Then
' Set wdDoc = wdApp.Documents.Open(strDat)
' wdApp.MacroContainer
' End If
Set wdDoc = Nothing
Set wdApp = Nothing
End Sub
Dazu würde ich jetzt bitte noch folgende Lösung suchen:
Wenn jetzt in der Spalte A Nummern stehen würden,
der Dateiname nicht in der Spalte A sondern in der Spalte B
Der Pfad der Datei nicht in der Spalte B sondern in der Spalte C
dann sollte folgendes passieren:
Wenn es z.B. in der Spalte A 4 Einträge mit einer 1 gibt, dann sollen nur die zur 1 gehörenden Dateinamen in die Listbox3 eingelesen werden. Gäbe es in der Spalte A 6 Einträge mit einer 2, dann sollen nur die zur 2 gehörenden Dateinamen in die listbox eingetragen werde usw.
wie würde hier bitte eine Erweiterung des VBA Codes lauten?
Danke
Josef