Kapalı Dosyada ilk sayfayı alma

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,059
Excel Vers. ve Dili
Office 2013 İngilizce
Merhaba,
Kapalı dosyadan sayfa ismini almak için aşağıdaki kodda:
"Dış Tablo, beklenen biçimde değil" hata mesajını alıyorum.

Kod:
Sub Testt()

   MsgBox getworksheetname(Application.GetOpenFilename("Excel Files (*.xls), *.xls"))

End Sub
Kod:
Function getworksheetname(sWorkbook As String)

    Dim adoConnection As New ADODB.Connection

    adoConnection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sWorkbook & ";Extended Properties=""Excel 8.0;HDR=Yes;"""

    adoConnection.Open
   
    Dim adoWbkAsDatabase As New ADOX.Catalog
    adoWbkAsDatabase.ActiveConnection = adoConnection
      
    MsgBox adoWbkAsDatabase.Tables(0).Name
    
    adoConnection.Close

    Set adoConnection = Nothing
    Set adoWbkAsDatabase = Nothing
    
End Function
teşekkürker,
iyi Çalışmalar.
 

Ekli dosyalar

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
DAO ile bu şekilde kullanın;

C#:
Sub Test_HD()
   MsgBox getworksheetname_HD(Application.GetOpenFilename("Excel Files (*.xls), *.xls"))
End Sub
'
Function getworksheetname_HD(sWorkbook As String)
    Dim daoDBEngine As Object, DB As Object, MySheet As String
    
    Set daoDBEngine = CreateObject("DAO.DBEngine.120")
        
    Set DB = daoDBEngine.OpenDatabase(sWorkbook, False, False, "Excel 8.0; HDR=Yes; IMEX=1;")
    
    MySheet = VBA.Replace(DB.TableDefs(0).Name, "'", "")
    MySheet = Application.Substitute(MySheet, "'", "")
    MySheet = Left(MySheet, InStr(1, MySheet, "$", 1) - 1)
    
    getworksheetname_HD = MySheet
End Function

.
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,059
Excel Vers. ve Dili
Office 2013 İngilizce
DAO ile bu şekilde kullanın;

C#:
Sub Test_HD()
   MsgBox getworksheetname_HD(Application.GetOpenFilename("Excel Files (*.xls), *.xls"))
End Sub
'
Function getworksheetname_HD(sWorkbook As String)
    Dim daoDBEngine As Object, DB As Object, MySheet As String
   
    Set daoDBEngine = CreateObject("DAO.DBEngine.120")
       
    Set DB = daoDBEngine.OpenDatabase(sWorkbook, False, False, "Excel 8.0; HDR=Yes; IMEX=1;")
   
    MySheet = VBA.Replace(DB.TableDefs(0).Name, "'", "")
    MySheet = Application.Substitute(MySheet, "'", "")
    MySheet = Left(MySheet, InStr(1, MySheet, "$", 1) - 1)
   
    getworksheetname_HD = MySheet
End Function

.
çok teşekkürler Haluk hocam, iyiki varsınız!
 
Üst