Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: per Hyperlink Programm mit Datei öffnen

per Hyperlink Programm mit Datei öffnen
02.01.2016 00:58:16
Jürgen
Guten Abend zusammen,
leider habe ich folgendes Problem bei dem ich feststecke.Ich generiere aus verschiedenen Text-Zellen den passenden Pfad zu einer Audio-Dateiadresse welche mit dem zugehörigen Programm geöffnet werden soll (Play):
=HYPERLINK("C:\Program Files (x86)\Audacity\audacity.exe D:\test\1_spiegelung\"&TEXT(O3;"")&TEXT(N3; "")&TEXT(E3;"");"Play")
Diese Anweisung wird allerdings mit der Fehlermeldung quittiert "Datei nicht gefunden".
Nun die Frage, ist das der falsche Ansatz oder ist der Code falsch geschrieben!?
Danke für Eure Hilfe!
Gruss, Jürgen

Anzeige

34
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: per Hyperlink Programm mit Datei öffnen
02.01.2016 09:12:18
Sepp
Hallo Jürgen,
glaube nicht, dass das per Formel-Hyperlink geht.
Ich würde es mit Doppelklick lösen.
In Das Modul de Tabelle.
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Const cstrExecutable As String = "C:\Windows\System32\notepad.exe" '"C:\Program Files (x86)\Audacity\audacity.exe"
Private Const cstrPath As String = "E:\Forum\TestText.txt" '"D:\test\1_spiegelung\"

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim strFile As String

If Target.Column = 1 Then 'Spaltennummer anpassen!
  If Target.Value = "Play" Then
    Cancel = True
    
    strFile = cstrPath & Cells(Target.Row, 15).Text & _
      Cells(Target.Row, 14).Text & Cells(Target.Row, 5).Text
    
    Call Shell(cstrExecutable & " " & strFile, vbNormalFocus)
  End If
End If
End Sub

Gruß Sepp

Anzeige
AW: per Hyperlink Programm mit Datei öffnen
02.01.2016 09:13:19
Sepp
Hallo nochmal,
du musst natürlich meine Pfade entfernen, das hab ich vergessen ;-)
Gruß Sepp

AW: per Hyperlink Programm mit Datei öffnen
02.01.2016 11:40:23
Jürgen
Hallo Sepp,
vielen Dank für deine Antwort!
Damit ich es überhaupt kapiere, was das Script machen soll:
Ich lege über eine gewünschte Spalte die Funktion auf deren Zelleninhalte, welcher dann per Doppelcklick die passende Datei öffnet? Was muss denn in den Zellen dann überhaupt stehen? Der Dateinamen ohne Pfad? Sorry, wenn ich so verbrettert frage, doch sind meine VBA Kentnisse gleich null :/
Ich habe deinen Code mal als Modul ins Worksheet einkopiert und die Pfade angepasst. Leider kommt bei Ausführung schon gleich mal "Fehler beim Kompilieren".
Screenshot:
http://abload.de/img/1230fu91.png
Tschuldige, aber vielleicht mach ich schon beim einkopieren einen Fehler. Danke für weitere Hilfe!
Gruss Jürgen

Anzeige
AW: per Hyperlink Programm mit Datei öffnen
02.01.2016 11:49:59
Sepp
Hallo Jürgen,
kopiere den Code und füge in in das Modul der Tabelle ein, nicht in ein allgemeines Modul.
Das Tabellen-Modul öffnest du durch einen Doppelklick auf den Tabellennamen im VBE, oder in Excel > Rechtsklick auf das Blattregister > Code anzeigen.
Du darfst auch nicht ein Sub Test() anlegen, sondern einfach den Code, so wie von mir gepostet, einfügen!
In der Tabelle, schreibst du, dort wo du jetzt deine HYPERLINK-Formel stehen hast einflach 'Play', alles andere bleibt wie gehabt. Im Code musst du die Spaltennummer entsprechend anpassen!
Durch einen Doppelklick auf eine Zelle mit 'Play' wird der Code ausgeführt.
Gruß Sepp

Anzeige
AW: per Hyperlink Programm mit Datei öffnen
02.01.2016 14:57:20
Jürgen
Hallo Sepp!
danke für deine schnelle Antwort!
Ich habe nun das Teil soweit, dass es funktioniert :)
Aber dabei ergeben sich jetzt 2 Probleme:
a) der Pfad zur Datei welcher geöffnet werden soll, wird vom Script nicht ganz vervollständigt.
Es gibt nämlich immer noch ein Unterverzeichnis, welches gleichtauten wie die Datei ist, allerdings ohne der Datei Extension ".aup". Das habe ich mit meinem Hyperlink per Formel so ausgelesen:
=HYPERLINK("C:\Program Files (x86)\Audacity\audacity.exe D:\test\1_spiegelung\"&TEXT(O3;"")&TEXT(N3; "")&TEXT(E3;"");"Play")
Könnte man das noch mit in der Scriptanweisung zum Aufruf miteinfügen?
b) wenn die Dateibezeichnung Leerzeichen beinhaltet, dann zerlegt es das Script in jedes einzelne Teil die durch das Leerzeichen getrennt sind. Das hat zur Folge, dass die Datei nicht gefunden wird.
Könnte man Leerzeichen in der Pfadangabe und Dateinamen irgendwie mit berücksichtigen?
Da ich in VBA null Ahnung habe, das anzupassen natürlich alles ein Buch mit 7 Siegeln für mich.
Aber dann würde wahrscheinlich alles klappen! Das wäre Toll!
Danke & Gruss,
Jürgen

Anzeige
AW: per Hyperlink Programm mit Datei öffnen
02.01.2016 15:37:58
Sepp
Hallo Jürgen,
das wird zum Ratespiel!
Lade doch ein Beispiel hoch, wo man sieht, was und wo genau steht.
Gruß Sepp

AW: per Hyperlink Programm mit Datei öffnen
02.01.2016 18:01:06
Jürgen
Hallo Sepp,
anbei das komplette Beispiel mit Daten dazu (sorry ich krieg's als zip über den Forum's File-Upload nicht hin):
http://filehorst.de/d/bJpCgHln
Der Aufbau im Sheet ist immer gleich. Wie gesagt, ich hatte den zur Datei führenden Pfad aus Spalte "F" zusammengebastelt.
z.B. ein Pfad: C:\Daten\1_Spiegelungen\das ist die Datei-zum-starten\das ist die Datei-zum-starten.aup
Danke& Gruss,
Jürgen

Anzeige
AW: per Hyperlink Programm mit Datei öffnen
02.01.2016 18:13:46
Sepp
Hallo Jürgen,
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Const cstrExecutable As String = "C:\Program Files (x86)\Audacity\audacity.exe"
Private Const cstrPath As String = "C:\Daten\1_Spiegelungen\"

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim strFile As String, strPath As String

If Target.Column = 7 Then 'Spaltennummer anpassen!
  If Target.Value = "Play" Then
    Cancel = True
    
    strFile = Cells(Target.Row, 5).text
    strPath = Mid(strFile, 1, InStrRev(strFile, ".") - 1) & "\"
    
    Call Shell(cstrExecutable & " '" & cstrPath & strPath & strFile & "'", vbNormalFocus)
  End If
End If
End Sub

Gruß Sepp

Anzeige
AW: per Hyperlink Programm mit Datei öffnen
02.01.2016 18:58:57
Jürgen
Hallo Sepp,
danke für deine Antwort.
Ich habe die Zeile " strFile = Cells(Target.Row, 5).text
" auf " strFile = Cells(Target.Row, 6).text" geändert, da diese entsprechend der Rubrik immer für entsprechende Zeileneinträge gültig ist. Klappt ja auch.
Doch leider will's noch nicht klappen, obwohl jetzt der Pfad richtig kommt (zumindest liest er sich richtig in der Fehlerbox ab). Ich habe es auch ohne "Leerzeichen" in der Datei- und Pfadangaben probiert. Funzt leider nicht?
Userbild
Kann es sein dass der Pfad ungewollt umgebrochen wird und daher die Datei nicht auffindbar wird?
Danke&Gruss,
Jürgen

Anzeige
AW: per Hyperlink Programm mit Datei öffnen
02.01.2016 19:11:46
Sepp
Hallo Jürgen,
was gibt die Msgbox aus, wenn du diesen Code verwendest?
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Const cstrExecutable As String = "C:\Program Files (x86)\Audacity\audacity.exe"
Private Const cstrPath As String = "C:\Daten\1_Spiegelungen\"

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim strFile As String, strPath As String

If Target.Column = 7 Then 'Spaltennummer anpassen!
  If Target.Value = "Play" Then
    Cancel = True
    
    strFile = Cells(Target.Row, 5).text
    strPath = Mid(strFile, 1, InStrRev(strFile, ".") - 1) & "\"
    
    MsgBox Dir(cstrPath & strPath & strFile, vbNormal)
    
    Call Shell(cstrExecutable & " "" & cstrPath & strPath & strFile & """, vbNormalFocus)
  End If
End If
End Sub

Gruß Sepp

Anzeige
AW: per Hyperlink Programm mit Datei öffnen
02.01.2016 20:31:36
Jürgen
Hallo Sepp,
jetzt ist neu, dass zuerst eine Hinweis Box kommt mit dem Dateinamen, nach Bestätigung dessen leider wieder eine nichtt auffindbare Datei. Allerdings scheint's die Variabln 1:1 zu übergeben.
Userbild
Ganz schön tricky :)
Danke & Gruss,
Jürgen

Anzeige
AW: per Hyperlink Programm mit Datei öffnen
02.01.2016 20:59:00
Sepp
Hallo Jürgen,
die Msgbox hab ich ja extra eingebaut!
OK, dann noch ein versuch mit kurzen Pfadnamen, dazu musst du diesen Code
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Private Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal _
  lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long

Public Function GetShortName(ByVal sLongFileName As String) As String
Dim lRetVal As Long, sShortPathName As String, iLen As Integer
'Set up buffer area for API function call return
sShortPathName = Space(255)
iLen = Len(sShortPathName)

'Call the function
lRetVal = GetShortPathName(sLongFileName, sShortPathName, iLen)
'Strip away unwanted characters.
GetShortName = Left(sShortPathName, lRetVal)
End Function

in ein allgemeines Modul (Einfügen > Modul) einfügen.
In die Tabelle dann diesen Code.
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Const cstrExecutable As String = "C:\Program Files (x86)\Audacity\audacity.exe"
Private Const cstrPath As String = "C:\Daten\1_Spiegelungen\"

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim strFile As String, strPath As String, strExec As String, strTmp As String

If Target.Column = 7 Then 'Spaltennummer anpassen!
  If Target.Value = "Play" Then
    Cancel = True
    
    strTmp = Cells(Target.Row, 6).Text
    
    strPath = Mid(strTmp, 1, InStrRev(strTmp, ".") - 1) & "\"
    
    strExec = GetShortName(cstrExecutable)
    
    strFile = GetShortName(cstrPath & strPath & strTmp)
    
    Call Shell(strExec & " " & strFile, vbNormalFocus)
  End If
End If
End Sub

Gruß Sepp

Anzeige
AW: per Hyperlink Programm mit Datei öffnen
02.01.2016 21:31:27
Jürgen
Hallo Sepp,
ich hoffe, dass ich das so richtig gemacht habe!?
Userbild
Folgendes Ergebnis:
das Programm startet, jedoch wird keine Datei geladen bzw. angezeigt. Jedoch gibt es auch keine Fehlermeldung in irgendeiner Art!?
hast noch einen Rat!?
Danke & Gruß,
Jürgen

Anzeige
AW: per Hyperlink Programm mit Datei öffnen
02.01.2016 21:35:51
Jürgen
....noch ein Nachtrag:
weil du das mit den langen Pfaden erwähnt hast, habe ich mal die Verzeichnisse auf nur "einen" buchstaben umbenannt. siehe da, das funktioniert!
Leider kann ich aber die Pfadnamen in meiner tabelle nicht kürzen:/
Könnte man das irgendwie anders lösen?
Gruss,
Karl

Anzeige
AW: per Hyperlink Programm mit Datei öffnen
02.01.2016 22:09:11
Sepp
Hallo Jürgen,
meine letzte Idee ;-((
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Const cstrExecutable As String = "C:\Program Files (x86)\Audacity\audacity.exe"
Private Const cstrPath As String = "C:\Daten\1_Spiegelungen\"

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim strFile As String, strPath As String, strExec As String, strTmp As String

If Target.Column = 7 Then 'Spaltennummer anpassen!
  If Target.Value = "Play" Then
    Cancel = True
    
    'strTmp = Cells(Target.Row, 6).Text
    
    'strPath = Mid(strTmp, 1, InStrRev(strTmp, ".") - 1) & "\"
    
    strExec = GetShortName(cstrExecutable)
    
    strFile = GetShortName(cstrPath & strPath & strTmp)
    
    Call ShellExecute(0, "open", strExec, strFile, vbNullString, 1)
  End If
End If
End Sub

' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

#If VBA7 Then
Public Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (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
#Else
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
#End If

Private Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal _
  lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long


Public Function GetShortName(ByVal sLongFileName As String) As String
Dim lRetVal As Long, sShortPathName As String, iLen As Integer
'Set up buffer area for API function call return
sShortPathName = Space(255)
iLen = Len(sShortPathName)

'Call the function
lRetVal = GetShortPathName(sLongFileName, sShortPathName, iLen)
'Strip away unwanted characters.
GetShortName = Left(sShortPathName, lRetVal)
End Function

Gruß Sepp

Anzeige
Mist! Achtung!
02.01.2016 22:10:37
Sepp
Hallo Jürgen und Karl?
Nimm die Auskommentierung bei strTmp und strFile raus, war nur zum testen.
Gruß Sepp

AW: Mist! Achtung!
02.01.2016 22:51:16
Jürgen
Hallo Sepp,
eigentlich Karl-Jürgen :)
Habe das so eingesetzt, doch leider scheitert's anscheinend an Pfad- oder Dateinamen welche länger als 8-Zeichen sind:
Userbild
Das alte DOS läßt grüßen. Schade, schade.....das wär wirklich ein cooles Script gewesen. Vielleicht fällt dir doch noch was ein.
Vielen Dank auf jeden Fall für deine Geduld in der Sache, welche du aufbringst!
Gruss,
Jürgen

Anzeige
AW: Mist! Achtung!
02.01.2016 23:14:29
Sepp
Hallo Karl-Jürgen,
dann wird wohl das aufgerufene Programm den Fehler liefern!
Keine weitere Idee!
Oder, doch. Wir kopieren die Datei einfach mit einem kurzen Namen.
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Const cstrExecutable As String = "C:\Program Files (x86)\Audacity\audacity.exe"
Private Const cstrPath As String = "C:\Daten\1_Spiegelungen\"

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim strFile As String, strPath As String, strExec As String, strTmp As String
Dim strTempFile As String, strExtension As String

If Target.Column = 7 Then 'Spaltennummer anpassen!
  If Target.Value = "Play" Then
    Cancel = True
    
    strTmp = Cells(Target.Row, 6).Text
    
    strPath = Mid(strTmp, 1, InStrRev(strTmp, ".") - 1) & "\"
    
    strExtension = Mid(strTmp, InStrRev(strTmp, "."))
    
    strTempFile = Environ("HOMEPATH") & "\tmp" & strExtension
    
    strExec = GetShortName(cstrExecutable)
    
    strFile = cstrPath & strPath & strTmp
    
    If Dir(strFile, vbNormal) <> "" Then Kill strFile
    
    Call FileCopy(strFile, strTempFile)
    
    Call ShellExecute(0, "open", strExec, strTempFile, vbNullString, 1)
  End If
End If
End Sub

Gruß Sepp

Anzeige
AW: Mist! Achtung!
02.01.2016 23:20:58
Jürgen
Hallo Sepp,
noch vorweg, bevor ich den neuen Code von dir teste:
ich habe etwas rumprobiert und meine, es sind nicht die langen Dateinamen. Denn dieser Code läuft, obwohl im Pfad längere als 8-Zeichen verwendet werden.
ABER:
sobald Ziffern oder Leerzeichen in der statischen Pfadangabe vorkommen wird keine Datei ans Programm übergeben ( z.B. 2015-01-01_das-ist-die-Datei-zum-starten.aup) .Sobald ich diese umbenenne (das-ist-die-Datei-zum-starten) funktioniert's.
Kann es sein, dass Ziffern und Leerzeichen im Script ausgeschlossen sind in Spalte 6?
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
Option Explicit
Private Const cstrExecutable As String = "C:\Program Files (x86)\Audacity\audacity.exe"
Private Const cstrPath As String = "c:\tmp\daten\einspielungen\"
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim strFile As String, strPath As String, strExec As String, strTmp As String
If Target.Column = 7 Then 'Spaltennummer anpassen!
If Target.Value = "Play" Then
Cancel = True
strTmp = Cells(Target.Row, 6).text
strPath = Mid(strTmp, 1, InStrRev(strTmp, ".") - 1) & "\"
strExec = GetShortName(cstrExecutable)
strFile = GetShortName(cstrPath & strPath & strTmp)
Call Shell(strExec & " " & strFile, vbNormalFocus)
End If
End If
End Sub


' Modul: Modul1 Typ: Allgemeines Modul
Option Explicit
Private Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal _
lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long
Public Function GetShortName(ByVal sLongFileName As String) As String
Dim lRetVal As Long, sShortPathName As String, iLen As Integer
'Set up buffer area for API function call return
sShortPathName = Space(255)
iLen = Len(sShortPathName)
'Call the function
lRetVal = GetShortPathName(sLongFileName, sShortPathName, iLen)
'Strip away unwanted characters.
GetShortName = Left(sShortPathName, lRetVal)
End Function

Gruss, JÜrgen

Anzeige
AW: Mist! Achtung!
02.01.2016 23:23:43
Sepp
Hallo Jürgen,
nein, mit .Text wird genau das übernommen, was in der Zelle steht. Ich vermute, dass das Ziel-Programm damit nicht umgehen kann.
Gruß Sepp

Anzeige
AW: Mist! Achtung!
02.01.2016 23:37:29
Jürgen
Hallo Sepp,
ich hab mit deinem letzten Script folgende Fehlermeldung:
Userbild
Nochmal zu den Ziffer & Leerzeichen:
es funktioniert wirklich nur dann nicht, wenn Ziffern oder Leerzeichen verwendet werden.
ES kann der Pfad- oder DAteinamen richtig lang sein, es wird ohne Fehlerausgabe abgearbeitet.
Könnte die Anweisung ".text" nicht bedeuten, dass NUR Text aus dieser Zelle übernommen wird?
Danke & Gruss,
Jürgen

Anzeige
AW: Mist! Achtung!
02.01.2016 23:51:58
Sepp
Hallo Jürgen,
den Code im allgemeinen Modul brauchst du natürlich schon auch dazu! Der bleibt wie davor.
Und zu .Text, nein, das bedeutet nicht das nur Text übernommen wird, sondern das der sichtbare Zellinhalt übernommen wird, im Gegensatz zu .Value, das den Zellinhalt übernimmt, unabhängig von der Formatierung der Zelle.
Gruß Sepp

Anzeige
AW: Mist! Achtung!
03.01.2016 00:16:12
Jürgen
Hallo Sepp,
ich habe folgende Codes eingefügt (Tabelle1 & Modul1), mit der die Fehlermeldung kommt. Habe ich was falsch gemacht!?
Userbild
Gruss,
Jürgen

AW: Mist! Achtung!
03.01.2016 08:54:32
Sepp
Hallo Jürgen,
ShellExcecute fehlt bei dir!
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Const cstrExecutable As String = "C:\Program Files (x86)\Audacity\audacity.exe"
Private Const cstrPath As String = "C:\Daten\1_Spiegelungen\"

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim strFile As String, strPath As String, strExec As String, strTmp As String
Dim strTempFile As String, strExtension As String

If Target.Column = 7 Then 'Spaltennummer anpassen!
  If Target.Value = "Play" Then
    Cancel = True
    
    strTmp = Cells(Target.Row, 6).Text
    
    strPath = Mid(strTmp, 1, InStrRev(strTmp, ".") - 1) & "\"
    
    strExtension = Mid(strTmp, InStrRev(strTmp, "."))
    
    strTempFile = Environ("TEMP") & "\tmp" & strExtension
    
    strExec = GetShortName(cstrExecutable)
    
    strFile = GetShortName(cstrPath & strPath & strTmp)
    
    If Dir(strTempFile, vbNormal) <> "" Then Kill strTempFile
    
    Call FileCopy(strFile, strTempFile)
    
    Call ShellExecute(0, "open", strExec, strTempFile, vbNullString, 1)
  End If
End If
End Sub

' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

#If VBA7 Then
Public Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (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
#Else
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
#End If

Private Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal _
  lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long


Public Function GetShortName(ByVal sLongFileName As String) As String
Dim lRetVal As Long, sShortPathName As String, iLen As Integer
'Set up buffer area for API function call return
sShortPathName = Space(255)
iLen = Len(sShortPathName)

'Call the function
lRetVal = GetShortPathName(sLongFileName, sShortPathName, iLen)
'Strip away unwanted characters.
GetShortName = Left(sShortPathName, lRetVal)
End Function

Gruß Sepp

Anzeige
AW: Mist! Achtung!
03.01.2016 12:55:17
Jürgen
Hallo Sepp!
danke, dass die Lust nicht verloren hast zum Problem was zu schreiben!
Nach einsetzen der Codes, leider diese Fehlermeldung:
Userbild
Danke & Gruss,
Jürgen

Anzeige
AW: Mist! Achtung!
03.01.2016 12:59:48
Sepp
Hallo Jürgen,
schreib mal statt
Environ("TEMP")
Environ("USERPROFILE")
Gruß Sepp

AW: Mist! Achtung!
03.01.2016 14:53:50
Jürgen
Hallo Sepp,
leider dieselbe Fehlermeldung wie in der vorherigen Version:
Userbild
Gruss,
Jürgen

Anzeige
AW: Mist! Achtung!
03.01.2016 15:32:55
Sepp
Hallo Jürgen,
hab mich gerade etwas schlau gemacht. Da geht es ja nicht um eine Datei, sondern um ein Projekt, deshalb sind im Ordner der Datei mit der Endung .aup noch andere Dateien und Ordner vorhanden.
Das kopieren der .aup-Datei alleine kann da nicht zum Erfolg führen, da diese dem Programm ja nur die Anweisungen zum Öffnen des Projektes vorgibt.
Sorry, keine weiteren Ideen.
Gruß Sepp

Anzeige
AW: Mist! Achtung!
03.01.2016 15:49:51
Jürgen
Hallo Sepp,
ich frag jetzt mal ganz naiv:
wenn ich über die Hyperlink-Funktion die Datei manuell zuweise, funktioniert es (also lädt die Datei im Programm). In meinem Fall natürlich nicht zu realisieren bei den vielen Einträgen.
Doch könnte man da was abkupfern für das Script?
Userbild
Gruss, Jürgen

Anzeige
AW: Mist! Achtung!
03.01.2016 16:13:35
Sepp
Hallo Jürgen,
im Startpost hattest du geschrieben, dass genau das nicht funktioniert! Da hätten wir und viel ersparen können, denn das sollte doch einfach so gehen.
Tabelle1

 EFG
3das ist die Datei-zum-starten.aupdas ist die Datei-zum-starten.aupPlay
4A: Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean das ist die Datei-zum-starten.aupPlay
5A: commodo ligula eget dolor. Aenean massa. Cum sociis natoque das ist die Datei-zum-starten.aupPlay
6F: ibus et magnis dis parturient montes, nascetur ridiculus mus. das ist die Datei-zum-starten.aupPlay
7A: onec quam felis, ultricies nec, pellentesque eu, pretiumdas ist die Datei-zum-starten.aupPlay
8A: aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, das ist die Datei-zum-starten.aupPlay
9F: mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum das ist die Datei-zum-starten.aupPlay
10A: porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem das ist die Datei-zum-starten.aupPlay
11F: ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra das ist die Datei-zum-starten.aupPlay
12   

Formeln der Tabelle
ZelleFormel
G3=HYPERLINK("C:\Daten\1_Spiegelungen\"&LINKS(F3;LÄNGE(F3)-4)&"\"&F3;"Play")


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Gruß Sepp

Anzeige
AW: Mist! Achtung!
03.01.2016 21:56:26
Jürgen
Userbild
Sorry, ich kann keinen Text mehr ins Feld schreiben. Anscheinend haben wir die Anzahl an Antwortzeilen gesprengt.

AW: per Hyperlink Programm mit Datei öffnen
03.01.2016 22:45:01
Sepp
Hallo Jürgen,
also bei mir startet das Programm über den Formel-Hyperlink ohne Probleme, hab mir sogar Audacity installiert um es zu testen!
Es liegt also nicht daran, wie gesagt, ich vermute, dass Audacity nicht mit dem Pfad oder Dateinamen umgehen kann!
Gruß Sepp

Anzeige
AW: per Hyperlink Programm mit Datei öffnen
04.01.2016 19:00:02
Jürgen
Hallo Sepp,
also mir hat es nun doch keine Ruhe gelassen, warum dass Script nicht startete welches bereits ohne Fehlermeldung daherkam.
Ich rollte daher nochmals alles auf, was ich machen konnte. Somit auch das Testen außerhalb vom Netzwerk (wie bislang immer getätigt).
Ich hab die Lösung dann noch gefunden! :D
Es funktioniert, sobald die aufzurufende Datei
a) nicht auf einem Netzlaufwerk liegt,
b) das Programm lokal,
c) der Virenscanner auf die *.aup Dateien freigeschaltet wird,
Also ein voller Erfolg, denn das hat sich alles soweit lösen bzw. ändern lassen. Ich rufe nun ganz elegant die Audio-Datei per Script auf. Super!!!!
Ich bedanke mich ganz, ganz herzlichst für dein Engagement in der Sache und deine Ausdauer zur Lösung zu finden!! Wäre ohne deine Unterstützung ein no go für mich gewesen!
Also, vielen Dank & Gruss,
Jürgen
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige