Thema Datum  Von Nutzer Rating
Antwort
14.06.2017 21:29:18 Thomas
NotSolved
14.06.2017 21:50:32 Thomas
NotSolved
Rot ADODB Verbindung geht nur, wenn Datei vorher einmal geöffnet wurde
17.06.2017 18:06:57 BigBen
NotSolved
18.06.2017 21:10:22 Thomas
Solved
19.06.2017 12:41:01 BigBen
NotSolved

Ansicht des Beitrags:
Von:
BigBen
Datum:
17.06.2017 18:06:57
Views:
596
Rating: Antwort:
  Ja
Thema:
ADODB Verbindung geht nur, wenn Datei vorher einmal geöffnet wurde

Hallo,

beim Testlauf des gleichen VBA-Codes mit einer Datenquelle aus einem LAN-Netzlaufwerk traten keine Fehler auf.

Die Datenquelle konnte fehlerfrei geöffnet werden. Auch wenn die betreffende Excel-Datei zuvor nicht explizit geöffnet wurde.

Man kann auch eine Arbeitsmappe unsichtbar öffnen und bei Bedarf wieder schließen:

''' <summary>
''' Bei Bedarf wird eine Arbeitsmappe unsichtbar geöffnet
''' </summary>
''' <parameters name="sFilename">Voller Pfad zur zu öffnenden Arbeitsmappe</parameters>
''' <parameters name="exitCode">vbTrue = Workbook ist geöffnet; vbFalse = Beim Öffnen ist ein Fehler aufgetreten;vbUseDefault=Arbeitsmappe ist bereits geöffnet gewesen</parameters>
Sub WorkbookOpenHidden(sFilename As String, Optional ByRef exitCode As VbTriState)
    On Error GoTo Err_Handler
    Dim wbk As Workbook
    For Each wbk In Application.Workbooks
        If wbk.FullName = sFilename Then
            exitCode = VbTriState.vbUseDefault
            Exit Sub
        End If
    Next
    Set wbk = Application.Workbooks.Open(sFilename)
    wbk.Windows.Item(1).Visible = False
    exitCode = VbTriState.vbTrue
Err_Exit:
    Exit Sub
Err_Handler:
    exitCode = VbTriState.vbFalse
    Err.Clear
    Resume Err_Exit
End Sub

''' <summary>
''' Schließt eine Arbeitsmappe
''' </summary>
''' <parameters name="sFilename">Voller Pfad zur Arbeitsmappe</parameters>
''' <parameters name="bSaveChanges">Bei Bedarf werden Änderungen gespeichert (True) oder verworfen (False)</parameters>
Sub WorkbookClose(sFilename As String, Optional bSaveChanges As Boolean = True)
    Dim wbk As Workbook
    For Each wbk In Application.Workbooks
        If wbk.FullName = sFilename Then
            wbk.Close bSaveChanges
        End If
    Next
End Sub

Wenn der Befehl WorkbookOpenHidden vor dem Open-Adodb-Befehl ausgeführt wird, sollte immer sicher gestellt sein, dass die Arbeitsmappe geöffnet ist.

Mit dem Parameter exitCode des Befehls WorkbookOPenHidden kann ermittelt werden, ob der Befehl erfolgreich ausgeführt wurde (vbTrue oder vbUseDefault).
Falls vbFalse zurückgeliefert wurde, trat beim Öffnen ein Fehler auf.

LG, BigBen


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
14.06.2017 21:29:18 Thomas
NotSolved
14.06.2017 21:50:32 Thomas
NotSolved
Rot ADODB Verbindung geht nur, wenn Datei vorher einmal geöffnet wurde
17.06.2017 18:06:57 BigBen
NotSolved
18.06.2017 21:10:22 Thomas
Solved
19.06.2017 12:41:01 BigBen
NotSolved