Thema Datum  Von Nutzer Rating
Antwort
Rot Access 2003 VBA - Bestimmten Unterordner ansteuern
14.07.2011 08:26:14 Markus
NotSolved
16.07.2011 13:28:53 Dekor
NotSolved

Ansicht des Beitrags:
Von:
Markus
Datum:
14.07.2011 08:26:14
Views:
1638
Rating: Antwort:
  Ja
Thema:
Access 2003 VBA - Bestimmten Unterordner ansteuern

Hallo liebes VBA-Forum-Team!

 

Folgende Problematik:

Ich möchte in einem Formular einen Button erstellen, der Excel öffnet und eine entsprechende Excel-Datei, soweit kein Problem.

Falls die Datei jedoch nicht mehr vorhanden ist, möchte ich den Explorer so nah wie möglich der Datei (wo sie überlicherweise war) öffnen.

Das Problem hierbei ist, dass ich verschiedene Produktkategorien zur Auswahl habe und die jeweiligen Excel-Dateien dann nochmals in zig Unterordnern "versteckt" sind (Bsp.: G:\ANGEBOTE\03_BT\03-767_PL_Krakau_Congress Center\3_ANGEBOTE).

Mit meinem aktuellen Code ist es mir gelungen den Explorer ab "G:\ANGEBOTE\03_BT" zu öffnen (gibt dann auch noch G:\ANGEBOTE\04_BT, G:\ANGEBOTE\05_BT etc.).

Dann aber folgen eben verschiede Projekte - "3_ANGEBOTE" ist dann wieder in jedem Pfad gleich.

Die Anfangsnummer der Projekte ist auch in meinem Formular enthalten.

 

Nun frage ich euch, ob ihr mir vl. weiterhelfen könnt?

Ich habs schon mit Funktionen wie InStr oder Mid versucht, aber ich komme auf keinen grünen Zweig.

 

Beste Grüße

Markus

 

 

Mein aktueller Code:

Private Sub Befehl133_Click()
On Error GoTo Err_Befehl133_Click


Dim EX As Excel.Application
    Dim WB As Excel.Workbook
    Dim WS As Excel.WorkSheet
    Dim ExcelFileDirect As String
    Dim WorkSheet As String
    
    
    ExcelFileDirect = [F48]
    WorkSheet = [F1]
    prePfad = "G:\Group\ANGEBOTE\"
    
    
    'Ordnervorselektierung je nach Angebotsnummer
    If Left(Forms![E_Winden]![AngNr], 2) = "03" Then
        prePfad = "G:\Group\ANGEBOTE\03_BT\"
    End If
 
    If Left(Forms![E_Winden]![AngNr], 2) = "04" Then
        prePfad = "G:\Group\ANGEBOTE\04_GT_Angebote\"
    End If

    If Left(Forms![E_Winden]![AngNr], 2) = "06" Then
        prePfad = "G:\Group\ANGEBOTE\06_Kleinangebote\"
    End If
 
    If Left(Forms![E_Winden]![AngNr], 2) = "07" Then
        prePfad = "G:\Group\ANGEBOTE\07_WBL\"
    End If
 

    
    'Wenn Excel-Datei nicht vorhanden, zum nächst gelegenen Ort (bzw. Ordner navigieren)
        If Dir(ExcelFileDirect) = "" Then
        MsgBox "Die gesuchte Excel-Datei wurde nicht gefunden!" & vbCrLf & "Bitte suchen Sie die Datei selbst!", vbInformation, "Fehler"
        Pfad = DateiOeffnen("Datei öffnen", "Microsoft-Excel-Dateien" & Chr$(0) & "*.xls", , prePfad)
      Else
      
    'Ansonsten Excel ausführen und die entsprechende Excel-Datei öffnen
        Set EX = CreateObject("Excel.Application")
        Set WB = EX.Workbooks.Open(ExcelFileDirect)
        Set WS = WB.Worksheets(WorkSheet)
        WB.Worksheets(WorkSheet).Visible = True
        WB.Worksheets(WorkSheet).Activate
        EX.Visible = True
        Set EX = Nothing
    End If




Exit_Befehl133_Click:
    Exit Sub

Err_Befehl133_Click:
    MsgBox Err.Description
    Resume Exit_Befehl133_Click
    
End Sub

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Access 2003 VBA - Bestimmten Unterordner ansteuern
14.07.2011 08:26:14 Markus
NotSolved
16.07.2011 13:28:53 Dekor
NotSolved