21.06.2013

ADO - Tabellenblätter - Anzahl - Geschlossene Datei...

Frage: Aus einer geschlossenen Datei benötige ich die Anzahl der Tabellenblätter. Wie geht das?

From a closed file I need the number of worksheets. How does it work?

Hier noch eine Beispieldatei / Here's a sample file:
ADO - Tabellenblätter - Anzahl - Geschlossene Datei...[ZIP 90 KB]

Option Explicit
'--------------------------------------------------------------------------
' Module    : Module1
' Procedure : Main
' Author    : Case (Ralf Stolzenburg)
' Date      : 21.06.2013
' Purpose   : ADO - Tabellenblätter - Anzahl - Geschlossene Datei...
'--------------------------------------------------------------------------
Public Sub Main()
    MsgBox fncADOSheetCount(ThisWorkbook.Path & _
        Application.PathSeparator & "Sheet_50.xls")
End Sub
Private Function fncADOSheetCount(ByVal strFileName As String) As Integer
    Dim objConn As Object
    Dim objCat As Object
    Set objConn = CreateObject("ADODB.Connection")
    With objConn
        .CursorLocation = 3 ' = adUseClient
        If Val(Application.Version) >= 12 Then
            .Provider = "Microsoft.ACE.OLEDB.12.0;" & _
                "Extended Properties=""Excel 12.0;HDR=YES"";" & _
                "Data Source=" & strFileName & ";"
        Else
            .Provider = "Microsoft.Jet.OLEDB.4.0;" & _
                "Extended Properties=Excel 8.0;" & _
                "Data Source=" & strFileName & ";"
        End If
        .Open
    End With
    Set objCat = CreateObject("ADOX.Catalog")
    Set objCat.ActiveConnection = objConn
    fncADOSheetCount = objCat.Tables.Count ' Anzahl Tabellenblätter
    Set objCat = Nothing
    If Not objConn Is Nothing Then
        If objConn.State = 1 Then objConn.Close
    End If
    Set objConn = Nothing
End Function

Formeln auf einer UserForm in einer TextBox darstellen...

Formeln auf einer UserForm in einer TextBox anzeigen. Z. B. "Formula", "FormulaLocal"... und wie muss die Formel in VBA ...