pb操作excel有关问题(续)
pb操作excel问题(续)
oleobject oleapp
oleapp=Create OleObject
oleapp.ConnectToNewObject( "excel.application ")
oleapp.Application.Visible = false
oleapp.Workbooks.Open(docname)
oleapp.worksheets( "sheet1 ").activate
for i=1 to n
if trim(string(oleapp.ActiveSheet().Range( "D "+string(i)).Value))= '上级明细 ' then
oleapp.ActiveSheet().Range( "D "+string(i)).EntireRow.Delete()
i = i - 1
end if
next
oleapp.Application.DisplayAlerts=false
oleapp.Application.save()
oleapp.Application.quit()
oleapp.DisConnectObject()
destroy oleapp
针对excel2003 能够执行 到了excel2007 就没有反应了 求指导!!
------解决方案--------------------
可以这样试一下:
oleobject oleapp
oleapp=Create OleObject
if oleapp.ConnectToNewObject( "Excel.Application")=0 then
oleapp.Application.Visible = false
//oleapp.Workbooks.Open(docname)
//oleapp.worksheets( "Sheet1 ").activate
oleapp.Application.Workbooks.Open (docpath)
oleapp.Application.Worksheets( "Sheet1").activate
string ls_ra
for i=1 to n
ls_ra = "D"+string(i)
ls_value = string(oleapp.Application.ActiveSheet.Range(ls_ra).Value)
if string(oleapp.Application.ActiveSheet.Range(ls_ra).Value)= '上级明细' then
oleapp.Application.ActiveSheet.Range(ls_ra).EntireRow.Delete
i = i - 1
end if
next
// oleapp.Application.DisplayAlerts=false
// oleapp.Application.save()
oleapp.Application.ActiveWorkbook.Save
oleapp.Application.quit()
oleapp.DisConnectObject()
else
Messagebox("","ole error")
end if
destroy oleapp
oleobject oleapp
oleapp=Create OleObject
oleapp.ConnectToNewObject( "excel.application ")
oleapp.Application.Visible = false
oleapp.Workbooks.Open(docname)
oleapp.worksheets( "sheet1 ").activate
for i=1 to n
if trim(string(oleapp.ActiveSheet().Range( "D "+string(i)).Value))= '上级明细 ' then
oleapp.ActiveSheet().Range( "D "+string(i)).EntireRow.Delete()
i = i - 1
end if
next
oleapp.Application.DisplayAlerts=false
oleapp.Application.save()
oleapp.Application.quit()
oleapp.DisConnectObject()
destroy oleapp
针对excel2003 能够执行 到了excel2007 就没有反应了 求指导!!
------解决方案--------------------
可以这样试一下:
oleobject oleapp
oleapp=Create OleObject
if oleapp.ConnectToNewObject( "Excel.Application")=0 then
oleapp.Application.Visible = false
//oleapp.Workbooks.Open(docname)
//oleapp.worksheets( "Sheet1 ").activate
oleapp.Application.Workbooks.Open (docpath)
oleapp.Application.Worksheets( "Sheet1").activate
string ls_ra
for i=1 to n
ls_ra = "D"+string(i)
ls_value = string(oleapp.Application.ActiveSheet.Range(ls_ra).Value)
if string(oleapp.Application.ActiveSheet.Range(ls_ra).Value)= '上级明细' then
oleapp.Application.ActiveSheet.Range(ls_ra).EntireRow.Delete
i = i - 1
end if
next
// oleapp.Application.DisplayAlerts=false
// oleapp.Application.save()
oleapp.Application.ActiveWorkbook.Save
oleapp.Application.quit()
oleapp.DisConnectObject()
else
Messagebox("","ole error")
end if
destroy oleapp