Vba+excel. в 2003 работает, а в 2000 - нет.
Формулировка задачи:
стоит ссылка в references
microsoft excel 11.00 object library.
пишу код для выгрузки в excel
Private Sub Prov_Click()
Screen.MousePointer = vbHourglass
Dim Xl As Excel.Application, I, j As Integer
Set Xl = CreateObject("Excel.Application")
Xl.Workbooks.Open (App.Path + "\мой.xlt")
Xl.Sheets(1).Select
If rcd.State = 1 Then rcd.Close
ss = "select fam, name from buh.dbo.zek"
rcd.Open ss, cn, adOpenKeyset, adLockOptimistic
j = 2
While Not rcd.EOF
Xl.Cells(j, 1) = rcd!fam
Xl.Cells(j, 2) = rcd!name
Xl.Range("A1", "B" & j).Borders.LineStyle = xlContinuous
End If
rcd.MoveNext
Wend
Xl.Columns.AutoFit
Xl.Visible = True
Screen.MousePointer = vbDefault
всё это работает, если office 2003. в 2000 office выдает критическую ошибку, и всё приложение закрывается. скажите, в чем может быть причина? не могу разобраться.
microsoft excel 11.00 object library.
пишу код для выгрузки в excel
Private Sub Prov_Click()
Screen.MousePointer = vbHourglass
Dim Xl As Excel.Application, I, j As Integer
Set Xl = CreateObject("Excel.Application")
Xl.Workbooks.Open (App.Path + "\мой.xlt")
Xl.Sheets(1).Select
If rcd.State = 1 Then rcd.Close
ss = "select fam, name from buh.dbo.zek"
rcd.Open ss, cn, adOpenKeyset, adLockOptimistic
j = 2
While Not rcd.EOF
Xl.Cells(j, 1) = rcd!fam
Xl.Cells(j, 2) = rcd!name
Xl.Range("A1", "B" & j).Borders.LineStyle = xlContinuous
End If
rcd.MoveNext
Wend
Xl.Columns.AutoFit
Xl.Visible = True
Screen.MousePointer = vbDefault
всё это работает, если office 2003. в 2000 office выдает критическую ошибку, и всё приложение закрывается. скажите, в чем может быть причина? не могу разобраться.
Решение задачи: «Vba+excel. в 2003 работает, а в 2000 - нет.»
textual
Листинг программы
<font color="blue">Private</font> <font color="blue">Sub</font> Prov_Click() Screen.MousePointer = vbHourglass <font color="blue">Dim</font> Xl <font color="blue">As</font> <font color="blue">Object</font>, I, j <font color="blue">As</font> <font color="blue">Integer</font> <font color="blue">Set</font> Xl = CreateObject(<font color="teal">"Excel.Application"</font>) Xl.Workbooks.<font color="blue">Open</font> (App.Path + <font color="teal">"\мой.xlt"</font>) Xl.Sheets(<font color="darkblue"><b>1</b></font>).<font color="blue">Select</font> <font color="blue">If</font> rcd.State = <font color="darkblue"><b>1</b></font> <font color="blue">Then</font> rcd.<font color="blue">Close</font> ss = <font color="teal">"select fam, name from buh.dbo.zek"</font> rcd.<font color="blue">Open</font> ss, cn, adOpenKeyset, adLockOptimistic j = <font color="darkblue"><b>2</b></font> <font color="blue">While</font> <font color="blue">Not</font> rcd.EOF Xl.Cells(j, <font color="darkblue"><b>1</b></font>) = rcd!fam Xl.Cells(j, <font color="darkblue"><b>2</b></font>) = rcd!<font color="blue">name</font> Xl.Range(<font color="teal">"A1"</font>, <font color="teal">"B"</font> & j).Borders.LineStyle = <font color="darkblue"><b>1</b></font> <font color="00AA00">' xlContinuous - не знаю точного значения, поэтому пусть будет 1</font> rcd.MoveNext j = j + <font color="darkblue"><b>1</b></font> <font color="blue">Wend</font> rcd.<font color="blue">Close</font> Xl.Columns.AutoFit Xl.Visible = True Screen.MousePointer = vbDefault
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д