9. Oktober 2007 07:09
CREATE(Shell);
Shell.Open(FileName);
Mit Shell ist 'Microsoft Shell Controls And Automation'.Shell
9. Oktober 2007 09:59
se3p hat geschrieben:[...] Bei dem Durchsuchen des Verzeichnisses mit den Unterverzeichnissen habe ich jetzt so meine Probleme.
9. Oktober 2007 11:28
'Diese Methode sucht nach einem PDF-File in den Unterordnern.
'Aber nur in den 1.Unterordnern!!!
Public Sub FindeZeichnug(Pfad As String, dateiName As String)
    Dim FSO As FileSystemObject
    Dim Folder1 As Folder
    Dim SubFolder As Folder
    Dim OpenFileVar As String
    Dim CFile As String
    Dim sPath As String
    Set FSO = New FileSystemObject
    ' Ggf. abschliessenden Backslash anfügen
    If Right$(Pfad, 1) <> "\" Then Pfad = Pfad & "\"
      
    Set Folder1 = FSO.GetFolder(Pfad)
    
      ' Unterordner lesen
    If Folder1.SubFolders.Count > 0 Then
        For Each SubFolder In Folder1.SubFolders
            
            'Hier werden alle Unterordner (1.Stufe) durchlaufen!
            OpenFileVar = ""
        MsgBox (Folder1.SubFolders.Item + " were")
        
            CFile = Dir(SubFolder.Path & "\" & dateiName & "*.pdf")
            Do While CFile <> ""
            
                OpenFileVar = SubFolder.Path & "\" & CFile
                
                DoOpenFile = ShellExecuteAny(hwnd, vbNullString, OpenFileVar, vbNullString, vbNullString, 1)
                CFile = Dir
            
            Loop
        Next
    End If
   
End Sub
9. Oktober 2007 11:57
FindeZeichnung(Pfad : Text[250];dateiName : Text[250])
// Diese Methode sucht nach einem PDF-File in den Unterordnern.
// Aber nur in den 1.Unterordnern!!!
// Ggf. abschliessenden Backslash anfügen
IF COPYSTR(Pfad,STRLEN(Pfad)) <> '\' THEN
  Pfad:=Pfad+'\';
// Unterordner lesen
File.SETRANGE(Path, Pfad);
File.SETRANGE("Is a file", FALSE);
File.SETFILTER(Name, '<>%1&<>%2', '.', '..');
IF File.FIND('-') THEN
  REPEAT
    // Hier werden alle Unterordner (1.Stufe) durchlaufen!
    File2.RESET;
    File2.SETRANGE(Path, File.Path+File.Name);
    File2.SETRANGE("Is a file", TRUE);
    File2.SETFILTER(Name, dateiName+'.pdf');
    IF File2.FIND('-') THEN
      HYPERLINK(File2.Name);
  UNTIL File.NEXT=0;FindeZeichnung('C:\Test', '123');9. Oktober 2007 16:59
 Vielen Dank für die sehr elegante Lösung über die virtuelle Tabelle File. Die Lösung gefällt mir so gut, weil sie mit den Navision-Mitteln sauber funktioniert und nicht mit irgendwelche Hilfskonstruktionen arbeitet.
 Vielen Dank für die sehr elegante Lösung über die virtuelle Tabelle File. Die Lösung gefällt mir so gut, weil sie mit den Navision-Mitteln sauber funktioniert und nicht mit irgendwelche Hilfskonstruktionen arbeitet.