Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1564to1568
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

Shell bzw. ShellExecute - Bitte um Hilfe

Shell bzw. ShellExecute - Bitte um Hilfe
20.06.2017 22:14:39
TiloT
Hallo alle zusammen,
es ist schon spät aber ich kann nicht abschalten, aus folgendem Grund bei dem
Ich um Eure Hilfe bitte:
Merke ActiveCell.Value
Erstell Dir PDF Liste in Combobox
Öffne PDF by Click
Öffne die erweiterte Suche und übergebe den Wert aus ActiveCell.Value
Suche
Hier das Konstrukt:

  • Sub Uopen
    Userbox1.Show
    End Sub

  • In der Userbox habe ich eine Combobox die ich so verfülle:
    Option Explicit
    Private Sub CommandButton1_Click()
    Unload UserForm1
    UserForm1.Hide
    End Sub
    

    Private Sub UserForm_Initialize()
    Dim strPath     As String
    Dim strFile     As String
    Dim strTabName  As String
    strPath = " C:\Documents\Listen\"
    strFile = Dir(strPath)
    With ComboBox1
    .clear
    Do Until strFile = ""
    .AddItem Left(strFile, Len(strFile))
    strFile = Dir
    Loop
    End With
    End Sub
    
    Bei Auswahl einer PDF aus der CB wird die PDF geöffnet, die erweiterte Suche geöffnet, der Suchbegriff übergeben und gesucht!
    Private Sub ComboBox1_Click()
    On Error GoTo 0
    Suche = UserForm1.ComboBox1.Text
    Call Listen
    End Sub
    

  • Option Explicit
    Public Suche As String
    Sub Listen()
    Dim pfad_zum_reader As String
    Dim pfad_zur_datei As String
    Dim suchbegriff As String
    pfad_zum_reader = "C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe"
    pfad_zur_datei = " C:\Documents\Listen " & "\" & Suche
    suchbegriff = ActiveCell.Value
    Shell pfad_zum_reader & " /A search=" & suchbegriff & " " _
    & pfad_zur_datei, vbMaximizedFocus
    Unload UserForm1
    UserForm1.Hide
    End Sub

  • Leider schafft es Shell in 80% aller Fälle nicht die entsprechende PDF Dateien zu finden bzw. sie zu öffnen, aus irgendeinem Grund „Beim öffnen der Datei ist ein Fehler… Diese Datei kann nicht gefunden werden!“
    Das passiert auch ohne Übergabe des ActiveCell.Value Suchbegriffs, also reines öffnen!
    Mit ShellExecute und kann ich alle PDF (und sowieso alle Dateien) öffnen ohne irgendwelche Probleme.
    Option Explicit
    Private 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
    Private Sub PDF_Show()
    Dim Pfad As String
    Pfad = " C:\Documents\Listen \"
    ShellExecute 0, "open", Pfad, "", "", 1
    End Sub
    
    Könnt Ihr mir bitte helfen ShellExecute in mein Konstrukt einzubauen oder anzupassen!?
    Ich weiß einfach nicht wie die Parametereingabe erfolgen muss um die Funktionsweise wie mit Shell (siehe oben) herzustellen.
    „RAW AND DIRTY VERSION“

  • Sub Listen()
    Dim pfad_zum_reader As String
    Dim pfad_zur_datei As String
    Dim suchbegriff As String
    Dim lSuccess As Long
    pfad_zum_reader = "C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe"
    pfad_zur_datei = "C:\Documents\Listen" & "\" & Suche
    suchbegriff = ActiveCell.Value
    lSuccess = ShellExecute(0, "Open", pfad_zum_reader & pfad_zur_datei & " /A search=" & suchbegriff )
    Unload UserForm1
    UserForm1.Hide
    End Sub

  • Vielen lieben Dank schon einmal im Voraus.
    Gruß und einen schönen Abend
    Tilo

    8
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Shell bzw. ShellExecute - Bitte um Hilfe
    21.06.2017 18:36:49
    Nepumuk
    Hallo Tilo,
    teste mal:
    Option Explicit

    Private Declare Function ShellExecuteA Lib "shell32.dll" ( _
        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
    Private Declare Function GetShortPathNameA Lib "kernel32.dll" ( _
        ByVal lpszLongPath As String, _
        ByVal lpszShortPath As String, _
        ByVal cchBuffer As Long) As Long

    Private Const SW_MAXIMIZE As Long = 3
    Private Const MAX_PATH As Long = 260

    Public Sub Test()
        
        Dim strSearchText As String, strFile As String, strPath As String
        Dim lngReturn As Long
        
        strSearchText = "Array"
        strFile = "G:\Eigene Dateien\Eigene PDF\Arraylist_Eigenschaften.pdf"
        
        strPath = Space$(MAX_PATH)
        lngReturn = GetShortPathNameA(strFile, strPath, MAX_PATH)
        strPath = Left$(strPath, lngReturn)
        
        Call ShellExecuteA(0, "open", "AcroRd32.exe", "/A ""search=" & _
            strSearchText & """ " & strPath, "C:\", SW_MAXIMIZE)
        
    End Sub

    Ich kann nicht sagen ob es funktioniert, denn mein ganz neuer Reader stürzt dabei ab. Mit der vorhergehenden Version hat es so funktioniert.
    Gruß
    Nepumuk
    Anzeige
    Tausend Dank, ich hatte schon aufgegeben :o)
    22.06.2017 01:33:01
    TiloT
    Hallo Nepumuk,
    nachdem ich versucht habe zu verstehen wie Execute funktioniert habe ich schon fast aufgegeben.
    Dank Dir läuft es jetzt ohne zicken oder murren!
    Eines möchte ich gerne wissen:
    Was passiert beim schreiben bzw. übergeben des Suchwertes an dieser Stelle mit den verzerrten Leerzeichen, eine mir nicht schlüssige Zeichenfolge, alleine daran wäre ich schon gescheitert!
    suchbegriff & """ " & = ?
    Allerbeste Grüße
    Tilo
    AW: Tausend Dank, ich hatte schon aufgegeben :o)
    22.06.2017 10:42:59
    Nepumuk
    Hallo Tilo,
    ganz einfach search = strSearchText muss selbst in Anführungszeichen stehen. Daher am Anfang und am Ende je zwei davon.
    Gruß
    Nepumuk
    Anzeige
    Tausend Dank, ich hatte schon aufgegeben :o)
    22.06.2017 01:33:01
    TiloT
    Hallo Nepumuk,
    nachdem ich versucht habe zu verstehen wie Execute funktioniert habe ich schon fast aufgegeben.
    Dank Dir läuft es jetzt ohne zicken oder murren!
    Eines möchte ich gerne wissen:
    Was passiert beim schreiben bzw. übergeben des Suchwertes an dieser Stelle mit den verzerrten Leerzeichen, eine mir nicht schlüssige Zeichenfolge, alleine daran wäre ich schon gescheitert!
    suchbegriff & """ " & = ?
    Allerbeste Grüße
    Tilo
    Fehler wenn Dateien auf einem Server liegen?
    23.06.2017 10:18:11
    TiloT
    Moin Nepumuk,
    jetzt habe ich es für die lokaln PDF auf C: hinbekommen.
    Wenn ich den Pfad jetzt von C auf H (liegt auf einem Server) ändere ist wieder Käse.
    Dann sagt er wieder: Beim öffnen des Dokuments ist ein Fehler aufgetreten. Es ist ein Dateifehler aufgetreten.
    Müssen die Parameter andere sein wenn ich auf einen Server Ordner zugreife?
    Danke mal für Dein Feedback!
    Gruß
    Tilo
    Anzeige
    AW: Fehler wenn Dateien auf einem Server liegen?
    23.06.2017 10:22:54
    Nepumuk
    Hallo Tilo,
    kann ich jetzt nicht sagen da ich in Ermangelung eines privaten Severlaufwerkes nicht testen kann. Ich werde es am Montag in der Firma mal versuchen.
    Gruß
    Nepumuk
    AW: Fehler wenn Dateien auf einem Server liegen?
    23.06.2017 10:50:35
    TiloT
    Alles Klar! Dann erstmal ein schönes Wochenende!
    Cu
    Tilo
    Gefunden! Fehler hier Adobe Reader "Sandbox Modus"
    23.06.2017 11:53:51
    TiloT
    Moin Nepumuk,
    ich hab nochmal die Suchmaschine angeworfen und habs gefunden!
    Im Adobe Reader muss man unter Bearbeiten, Voreinstellungen, Allgemein, Sicherheit (erweitert), den "Geschützten Modus" ausschalten und alternativ die "erweitete Sicherheit" deaktivieren (gefühlt schnelleres öffnen)
    Hat Adobe nach dem Update wohl übertrieben!!!
    Natürlich mit etwas Vorsicht zu genießen, wobei ich denke das es heutzutage jedem Anwender in einem Netzwerk klar sein sollte!
    Gruß
    Tilo
    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige