У меня проблема с обновлением листа Excel с помощью ADO через VBScript.
Рабочая тетрадь содержит 3 листа: Лист1, Лист2 и Лист3.
Я использую методы «INSERT» и «AddNew» для обновления каждого листа.
Если строка заголовка содержит более одного столбца, формат строки заголовка сохраняется в новых строках.
Если строка заголовка содержит только один столбец, то строка пропускается, но формат строки заголовка не сохраняется в новых строках.
Это не имеет смысла! Любая помощь будет оценена.
Приложено изображение сценария и полученные листы.
Option Explicit
'****
'* Test updating (INSERT and ADDNEW) an MS-Excel worksheet using ADO.
'****
Dim oADO
Set oADO = CreateObject("ADODB.Connection")
oADO.Mode = 3 '=adModeReadWrite
oADO.Open "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='Excel 8.0;HDR=YES;IMEX=1,ReadOnly=False';Data Source=excel.xls"
'*
oADO.Execute "INSERT INTO [Sheet1$] (Comment) VALUES ('INSERT')"
'*
oADO.Execute "INSERT INTO [Sheet2$] (Comment) VALUES ('INSERT')"
'*
oADO.Execute "INSERT INTO [Sheet3$] (Comment) VALUES ('INSERT')"
Dim oRST
Set oRST = CreateObject("ADODB.Recordset")
oRST.ActiveConnection = oADO
oRST.CursorType = 2 '=adOpenDynamic
oRST.LockType = 2 '= adLockPessimistic
'*
oRST.Open "SELECT * FROM [Sheet1$]"
oRST.AddNew
oRST.Fields("Comment").Value = "ADDNEW"
oRST.Update
oRST.Close
'*
oRST.Open "SELECT * FROM [Sheet2$]"
oRST.AddNew
oRST.Fields("Comment").Value = "ADDNEW"
oRST.Update
oRST.Close
'*
oRST.Open "SELECT * FROM [Sheet3$]"
oRST.AddNew
oRST.Fields("Comment").Value = "ADDNEW"
oRST.Update
oRST.Close
Set oRST = Nothing
oADO.Close
Set oADO = Nothing
код VBScript и результаты в таблицах