Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1820to1824
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Pfad von exccel auf Word

Pfad von exccel auf Word
01.04.2021 10:54:32
exccel
Hallo zusammen,
wir haben eine Art zugriff damit listen schneller kommen.:
Private Sub cmd_Button_5_Click()
Dim indx As Long
With Me.Lst5
indx = getselectedIndx(.Name)
If indx > -1 Then
' On Error Resume Next
If Dir(.List(indx, 1))  "" Then
Workbooks.Open Filename:=.List(indx, 1)
Else
MsgBox "Datei '" & .List(indx, 1) & "' nicht vorhanden"
End If
Else
MsgBox " keine Liste ausgewählt", vbOKOnly, "Fehler"
End If
End With
Unload Me
End Sub

Private Sub UserForm_Initialize()
Dim rng As Range, sName As String, i As Long, cnt As Long
i = 1
For cnt = 0 To Me.Controls.Count - 1
If Me.Controls(cnt).Name Like "Lst*" Then
sName = Right(Me.Controls(cnt).Name, Len(Me.Controls(cnt).Name) - 3)
With Me.Controls("Lst" & sName)
.ColumnCount = 2
.ColumnWidths = "150;0"
Set rng = Tabelle2.UsedRange.Cells(1, i) 'Spalte wähle
Debug.Print rng.Address
Set rng = rng.Offset(1).Resize(rng.End(xlDown).Row - 1, 2) 'bereich vergrößern
.List = rng.Value                         'liste zuweisen
Me.Controls("Label_" & sName).Caption = rng.Cells(1, 1).Offset(-1).Value
'Text in Beschriftungsfeld schreiben
i = i + 2
End With
End If
Next
End Sub

Das heißt wir wählen über User Form den Namen aus und anschließend kommt die Liste.
Tabelle2 Spalte A schreiben wir den Namen und in Spalte B den Pfad.
Momentan ist es so, das nur Excel Dateien geöffnet werden. Kann man das irgendie ändern, das man auch Word und PDF usw.. Datei öffnen kann ?
Dankeschön
LG Dieter

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pfad von exccel auf Word
01.04.2021 11:14:06
exccel
versuchs mal damit. ungetestet!

If Dir(.List(indx, 1))  "" Then
ActiveWorkbook.FollowHyperlink .List(indx, 1)
Else


AW: Pfad von excel auf Word
01.04.2021 14:30:38
excel
Hallo Ralf,
also gerade getestet. wenn ich in Spalte B den Pfad einer Word Datei als erster ( Zeile 2 ) mache dann geht es. Aber wenn der Pfad in der Mitte ist zwischen Excel Pfad dann macht Excel einfach eine Lsite auf aber nicht die Word Datei.

AW: Pfad von excel auf Word
01.04.2021 16:51:19
excel
Hallo Dieter,
noch 'ne Variante in zwei Ausführungen.
Vielleicht klappt es ja damit...
Code:

[Cc]

' API Declare ganz oben platzieren Private Declare PtrSafe Function ShellExecuteA Lib "Shell32.dll" ( _ ByVal hwnd As LongPtr, ByVal lpOperation As String, _ ByVal lpFile As String, ByVal lpParameters As String, _ ByVal lpDirectory As String, ByVal nShowCmd As Long) As LongPtr 'API If Dir(.List(indx, 1)) <> "" Then ShellExecuteA 0&, "Open", .List(indx, 1), 0, 0, 9 Else 'oder Shell If Dir(.List(indx, 1)) <> "" Then With CreateObject("Shell.Application") .ShellExecute .List(indx, 1), "", "", "open", 4 End With Else

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz


Anzeige
AW: Pfad von excel auf Word
06.04.2021 08:23:51
excel
Hallo zusammen,.
endlich bin ich wieder in der Arbeit und konnte es testen:
also beim:
'API
If Dir(.List(indx, 1)) "" Then
ShellExecuteA 0&, "Open", .List(indx, 1), 0, 0, 9
Else
macht nur Word auf leider nicht mehr Excel Dateien:
beim:
'oder Shell
If Dir(.List(indx, 1)) "" Then
With CreateObject("Shell.Application")
.ShellExecute .List(indx, 1), "", "", "open", 4
End With
Else
kommt ein Fehler " unterstützt diese Eigenschaft oder Methode nicht

AW: Pfad von excel auf Word
06.04.2021 10:07:28
excel
Hallo Dieter,
vielen Dank für Deine Rückmeldung.
Beide Varianten funktionieren bei mir für alle Typen, sei es Excel, Word oder PDF oder sonst was.
Die ShelleExecute-Funktion öffnet anhand der Erweiterung (z.B. DOCX) die registrierte Anwendung.
Insofern kann ich nicht nachvollziehen, warum Word gehen soll, Excel aber nicht.
Zum Fehler bei der zweiten Funktion könnte vielleicht der übergebene Datentyp zum Fehler führen, daher mal eine Idee dazu (s. Code)
Da ich das jetzt nicht unter realen Bedingungen prüfen kann, kann ich außer dem Tipp, mal den Dateinamen incl. Pfad zu überprüfen, keine weiteren Tipps geben.
Code:

[Cc]

'API Sub Test1() ShellExecuteA 0&, "Open", .List(indx, 1), 0, 0, 9 End Sub 'Shell Sub Test2() Dim sFullpath As String sFullpath = .List(indx, 1) With CreateObject("Shell.Application") .ShellExecute sFullpath, "", "", "open", 4 End With End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz


Anzeige
AW: Pfad von excel auf Word
06.04.2021 10:53:40
excel
Hallo
ich schick dir heute abend mal die Datei.
Vielleicht findest du dann den Fehler was ich falsch gemacht habe.
Danke Dir :-)

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige