EOF Excel в VB6 - PullRequest
       39

EOF Excel в VB6

0 голосов
/ 16 марта 2010

как мне написать код в vb6 при поиске EOF файла excel

Может ли кто-нибудь мне помочь?

я пытаюсь закодировать это, и это работает ..

--->

Dim excelApp as Excel.Application

Dim excelWB as Excel.Workbook

Set excelApp = New Excel.Application

Set excelWB = excelApp.Workbooks.Open("D:\Book1.xls")

Dim xlsRow as Long

Dim EOF as Boolean

xlsRow = 1

Do While (EOF = False)

  If (excelWB.Sheets("Sheet1").Cells(xlsRow, 1).Value = "") Then

    EOF = True

  Else

    xlsRow = xlsRow + 1

  End If

Loop

<--- </p>

этот код работает, но единственная проблема состоит в том, что только столбец 1 будет проверен, а остальные нет.Может кто-нибудь помочь мне, как улучшить этот код, чтобы проверить все строки и столбцы ячеек Excel

1 Ответ

1 голос
/ 16 марта 2010

Я загрузил ваш пример в VB6, но я не думаю, что у меня были правильные ссылки, так как я не получил полную интеллигенцию.

Однако я бы не рекомендовал использовать объекты приложения Excel, поскольку они имеют тенденцию быть медленными для простого доступа к файлам Excel.

Я бы порекомендовал использовать ADODB.

Например, подключитесь к электронной таблице (sFilename)

Set cnExcel = New ADODB.Connection

cnExcel.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
   "Data Source=" & sFilename & ";" & _
   "Extended Properties=""Excel 8.0;IMEX=1;HDR=NO"""

Тогда прочитайте это. ADODB выполняет EOF для вас. Здесь я отображаю строки 0 и 1

rs.Open "select * from " & sSheetName, cnExcel, adOpenDynamic, adLockOptimistic

While Not rs.EOF
    debug.print rs(0) 
    debug.print rs(1) 
    rs.MoveNext
Wend

Это просто быстрый вкус, но в сети есть ресурсы о том, как это сделать, и это НАМНОГО быстрее, чем при использовании объектов Excel! Вышеприведенный текст вырезан из моего собственного кода, поэтому я знаю, что он работает !!

...