Tam Sürümünü Görmek İçin : EXCEL VE Visual Basic
akiftalha
07/08/2003, 17:51
Arkadaslar benim sorunum şu
ben iş yerim için excelde birşeylaer yapmaya çalışan garip biriyim fakat hesaplamalarıma makro koyamıyorum veya excel ve visual basic i entegre çalıştıramıyorum.BU KONUDA YARDIMI NEREDEN BULABİLİRİM +++ vİsUAL BaSİC KODLARINI EN İYİ NASIL ÖĞRENİRİM HEPİNİZ SAĞ OLUN VAR OLUN
araçlar>Makro>visual basic düzenleyici...
Excel.gen.tr
Aşağıdaki program kapalı bir excel dosyasındaki dataları arraye aktarır. Umarım işinize yarar.
sSourceFile: Dataları almak istediğiniz dosyanın adı veya path'i..
sRange: Excelde isimlendirdiğiniz bölüm.(Insert name ile belirlediğiniz okunacak alan)'
[sSheetName] : eğer alacağınız data 1. sayfada değilse hangi sayfada olduğunu belirtmeniz gerekir. Eğer bunu belirtmezseniz 1. sayfayı okur.[bReturnHeadings] Eğer doğruysa, sütun başllığını okur.
******
Function WorkbookReadRange(sSourceFile As String, sRange As String, Optional sSheetName As String, Optional bReturnHeadings As Boolean) As Variant
Dim conWkb As ADODB.Connection, rsWkbCells As ADODB.Recordset, sConString As String
Dim lThisField As Long, avResults As Variant, avHeadings As Variant
On Error Goto ErrFailed
sConString = "DRIVER={Microsoft Excel Driver (*.xls)};ReadOnly=1;DBQ=" & sSourceFile
Set conWkb = New ADODB.Connection
conWkb.Open sConString
If Len(sSheetName) Then
'Get data from specified sheet
Set rsWkbCells = conWkb.Execute("Select * from " & Chr(34) & sSheetName & "$" & sRange & Chr$(34))
Else
Set rsWkbCells = conWkb.Execute("Select * from " & sRange)
End If
If rsWkbCells.EOF Then
ReDim avHeadings(0 To 0, 0 To rsWkbCells.Fields.Count - 1)
For lThisField = 0 To rsWkbCells.Fields.Count - 1
avHeadings(0, lThisField) = rsWkbCells.Fields(lThisField).Name
Next
WorkbookReadRange = avHeadings
Else
If bReturnHeadings Then
avResults = rsWkbCells.GetRows
ReDim avHeadings(0 To rsWkbCells.Fields.Count - 1, 0 To 0)
For lThisField = 0 To rsWkbCells.Fields.Count - 1
avHeadings(lThisField, 0) = rsWkbCells.Fields(lThisField).Name
Next
WorkbookReadRange = Array(avHeadings, avResults)
Else
WorkbookReadRange = rsWkbCells.GetRows
End If
End If
rsWkbCells.Close
conWkb.Close
Set rsWkbCells = Nothing
Set conWkb = Nothing
On Error Goto 0
Exit Function
ErrFailed:
WorkbookReadRange = Err.Description
If conWkb.State <> adStateClosed Then
conWkb.Close
End If
Set rsWkbCells = Nothing
Set conWkb = Nothing
End Function
End Sub
DaesAgelmar
01/03/2004, 16:39
www.classmodule.com/forum güzel bir kaynak olacaktır
Forum Yazılımı : vBulletin v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.